学校举行了一场阅读比赛,比赛让阅读一本书,这本书有N页,尽可能快而理解它。小明同学阅读速度是A页每分钟,最多可以连续阅读T分钟, 阅读T分钟之后小明要休息R分钟,确定小明读完这本书阅读的时间。
输入
多实例测试。 输入N(N<100000)和K(k<10),下面是K行,下面每行输入A,T,R(A,T,R均小于100)。
输出
输出阅读时间。每行一个。
10 1
2 4 1
10 2
6 1 5
3 3 3
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
求各位大佬帮忙看看 并指出代码中的问题 谢谢大家