- 津津的储蓄计划
- 2014-10-12 09:32:33 @
评测机一定有问题!! 我本地用Vijos的测试数据和expected output完全相同, 结果提交了之后就WA.
代码如下:
#include <iostream>
int main() {
const int NUMBER_OF_MONTHS = 12;
int expenses[NUMBER_OF_MONTHS] = {0};
// Input
for ( int i = 0; i < NUMBER_OF_MONTHS; ++ i ) {
std::cin >> expenses[i];
}
// Processing
int balance = 0, deposit = 0, month = 0;
for ( ; month < NUMBER_OF_MONTHS && balance >= 0; ++ month ) {
balance += 300;
balance -= expenses[month];
while ( balance > 100 ) {
deposit += 100;
balance -= 100;
}
}
// Output
if ( balance > 0 ) {
balance += deposit * 1.2;
std::cout << balance << std::endl;
} else {
std::cout << -month << std::endl;
}
return 0;
}
管理组敢不敢自己跑一遍看看, 我的输出和预期输出哪里不一样了~
9 条评论
-
Gary1999 LV 8 @ 2014-11-20 19:55:38
Orz大神
-
2014-11-18 17:23:13@
跪 代码风格 Orz!!
-
2014-10-17 22:45:51@
orz
-
2014-10-17 22:09:01@
orz呀orz
-
2014-10-12 12:33:16@
赞代码风格orz!
-
2014-10-12 12:33:06@
double a=deposit * 1.2 + balance;
std::cout << a << std::endl;实测这样也行。
-
2014-10-12 12:29:34@
或者
deposit += 120;
-
2014-10-12 12:28:45@
改为
balance += deposit +deposit/5;
就AC。 -
2014-10-12 09:34:21@
我的运行环境: Ubuntu 14.04 + gcc 4.8.2
之前有人说是C++精度问题, 可是我输出的时候已经转换为int了, 哪来的精度问题.
- 1