求助|这道题该怎么做 小白来问一下
543
2023.10.19
发布于 未知归属地

题目描述

学校举行了一场阅读比赛,比赛让阅读一本书,这本书有N页,尽可能快而理解它。小明同学阅读速度是A页每分钟,最多可以连续阅读T分钟, 阅读T分钟之后小明要休息R分钟,确定小明读完这本书阅读的时间。

输入

多实例测试。 输入N(N<100000)和K(k<10),下面是K行,下面每行输入A,T,R(A,T,R均小于100)。

输出

输出阅读时间。每行一个。

样例输入 Copy

10 1

2 4 1

10 2

6 1 5

3 3 3

样例输出 Copy

6

7

7

以下是我写的代码:

#include <stdio.h>

int main() {

while (1) {

int n, k;

scanf("%d %d", &n, &k);

if (n >= 100000 || k >= 10) {

break;

}

for (int i = 1; i <= k; i++) {

int a, t, r;

scanf("%d %d %d", &a, &t, &r);

if (a >= 100 || t >= 100 || r >= 100) {

break;

}

int m = 0;

if (n <= a) {

m+= 1;

} else if (n - a * t <= a) {

if(n-a*t>=0)

{m += r + t + 1;

if (n - a * t == 0) {

m--; // 恰好减为0,不需要额外分钟

}}

else {

m+= (n/a) +1;// 不需要连续阅读

}

} else if (n - a * t > a) {

while (n > 0) {

n -= a * t;

m += r + t;

if (n > 0 && n < a * t) {

m += (n/a)+1;

// 计算剩余页数需要的分钟数

break;

}

if (n > 0 && n ==a * t) {

m += t;

// 计算剩余页数需要的分钟数

break;

}

}

}

printf("%d\n", m);

}

}

return 0;

}

提交后显示答案错误

平台显示

========[1.out]=========

Expected | Yours

72 72

2 2

1 1

1 1

1 1

1 1

1 1

1 1

1349 1349

958 | 38

1541 <

555 <

12682 <

903 <

2251 <

269 <

253 <

559 <

1406 <

167 <

363 <

153 <

218 <

11645 <

2297 <

444 <

294 <

3186 <

1443 <

2054 <

2355 <

2776 <

233 <

1180 <

665 <

202 <

223 <

786 <

346 <

362 <

1890 <

297 <

487 <

905 <

563 <

2160 <

19087 <

1283 <

993 <

2756 <

146 <

375 <

202 <

77 <

140 <

1062 <

77 <

440 <

437 <

532 <

2813 <

7005 <

4508 <

12973 <

316 <

295 <

25201 <

2346 <

389 <

1369 <

720 <

372 <

395 <

24133 <

459 <

1096 <

862 <

720 <

326 <

2441 <

39 <

3277 <

1634 <

1750 <

70 <

42 <

58 <

1270 <

1927 <

1815 <

1117 <

3784 <

1928 <

1960 <

644 <

964 <

2 <

33 <

4 <

457 <

==============================

time_space_table:

/1628/1.in: mem=1044k time=1ms

求各位大佬帮忙看看 并指出代码中的问题 谢谢大家

评论 (2)