- 伊甸园日历游戏
- 2013-07-28 11:15:46 @
我编了一个记忆化搜索的程序,但是不断地wronganswer
后来,我从网上下载了本题的测试数据
发现我错了一个数据 这个数据的输入是2003 5 2 完全就超过2001 11 4嘛!!!
大家注意啊 提交程序的时候加上这个判断 答案是NO!!!别被坑了
5 条评论
-
zkj LV 8 @ 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