大家注意这题有一个很坑爹的数据

我编了一个记忆化搜索的程序,但是不断地wronganswer
后来,我从网上下载了本题的测试数据
发现我错了一个数据 这个数据的输入是2003 5 2 完全就超过2001 11 4嘛!!!
大家注意啊 提交程序的时候加上这个判断 答案是NO!!!别被坑了

5 条评论

  • @ 2018-08-30 18:02:22

    %%%

  • @ 2016-10-17 10:19:23

    +1。验证了一下:
    ```c++
    bool valid(int Y, int M, int D)
    {
    return !(YMD > 2001年11月4日) && D <= 当月总日数;
    }

    int main()
    {
    precomp();
    //s[2003][5][2] = true; => 加就WA,不加就AC。证明存在2003-05-02,并且“标准”答案为NO。
    //bool seen2003=false;
    int N, Y, M, D;
    cin >> N;
    while (N--) {
    cin >> Y >> M >> D;
    //if (!valid(Y,M,D) && Y*10000 + M*100 + D != 20030502) { cout << "YO" << endl; continue; }
    // AC了。说明没有非法日期,并且除了2003-05-02,没有晚于2001-11-04的日期。
    //if (Y*10000 + M*100 + D < 19000101) { cout << "OY" << endl; continue; }
    // AC了。说明没有早于1900-01-01的日期。
    //if (Y*10000 + M*100 + D == 20030502) { cout << (seen2003 ? "DUP" : "NO") << endl; seen2003 = true; continue; }
    // AC了。说明只有一组数据是2003-05-02。
    // 结论: 仅存在一组非法数据:2003-05-02。其余所有数据均为正确数据。
    cout << (s[Y][M][D] ? "YES" : "NO") << endl;
    }
    return 0;
    }
    ```

    多谢串主指出。

  • @ 2016-01-10 19:26:07

    多谢大神

  • @ 2014-08-22 17:25:31

    数据是啥?

  • @ 2013-10-03 18:50:22

    网上是哪里?不是说这是zju的数据吗?

  • 1

信息

ID
1004
难度
5
分类
博弈论 点击显示
标签
(无)
递交数
5112
已通过
1786
通过率
35%
被复制
28
上传者