-
完成2018-12-1小明上学,首次提交60分,经检查后发现错误出在我直接把红灯时间固定为了30秒,而忽视了其时间是由外部输入的,修改后提交通过。
-
附上源码
#include <iostream> using namespace std; int main() { int r, y, g; cin >> r >> y >> g; int n, sum = 0; cin >> n; for (int i = 0; i < n; i++) { int k, t; cin >> k >> t; switch (k) { case 0: { sum += t; break; } case 1: { sum += t; break; } case 2: { sum += (t + r); break; } case 3: { break; } } } cout << sum; } //30 3 30 //8 //0 10 //1 5 //0 11 //2 2 //0 6 //0 3 //3 10 //0 3
-
-
完成2018-12-2小明放学,首次提交60分,经检查发现是数据类型设置错误,题中给出的n的范围是十的五次方,这样就可能使sum的数据范围超过int型的范围,所以应该将其数据类型设置为long long型,修改后提交通过。
-
附上源码
#include <iostream> using namespace std; int tim(long long, long long, long long); long long r, y, g; int main() { long long n, sum = 0; cin >> r >> y >> g; cin >> n; for (int i = 0; i < n; i++) { long long k, t; cin >> k >> t; sum += tim(k, t, sum); } cout << sum; } int tim(long long k, long long t, long long sum) { if (k == 0) { return t; } else if (k == 1) { if (sum <= t) { return t - sum; } else { int tc = (sum - t) % (r + y + g); if (tc <= g) { return 0; } else { return r + g + y - tc; } } } else if (k == 2) { if (sum <= t) { return t - sum + r; } else { int tc = (sum - t) % (r + y + g); if (tc < r) { return r - tc; } else if (tc >= r && tc <= r + g) { return 0; } else { return 2 * r + y + g - tc; } } } else { if (sum <= t) { return 0; } else { int tc = (sum - t) % (r + y + g); if (tc <= y) { return y - tc + r; } else if (tc > y && tc <= y + r) { return y + r - tc; } else { return 0; } } } } //30 3 30 //8 //0 10 //1 5 //0 11 //2 2 //0 6 //0 3 //3 10 //0 3
-
2019-01-21
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- #青蛙旅行项目 import os, sys, time, randomdef index(): while T...
- #你好,小寒# 中国的二十四节气歌,我们小时候就都已经背熟了: 春雨惊春清谷天,夏满芒夏暑相连,秋处露秋寒霜降,冬...