Bug Report

评测机一定有问题!! 我本地用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 条评论

  • @ 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-13 19:53:33

      因为我就是做软件开发的~ 软件开发最讲究代码的可读性了.
      不过写算法的能力真的是...... 嘿嘿嘿~

  • @ 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-13 19:53:03

      是的~ 我昨天的确看到有人这样做的~
      但是这不科学啊~!

  • @ 2014-10-12 09:34:21

    我的运行环境: Ubuntu 14.04 + gcc 4.8.2
    之前有人说是C++精度问题, 可是我输出的时候已经转换为int了, 哪来的精度问题.

  • 1

信息

ID
1096
难度
5
分类
模拟 点击显示
标签
递交数
15994
已通过
5676
通过率
35%
被复制
37
上传者