@[YuanHaoYu6315](/user/693278) 如果MM:DD是2:89呢,应该是2对吧,但你的代码输出的是1
by zfj123456 @ 2023-07-12 13:16:25
@[zfj123456](/user/744050)
没毛病:02-19
by oyoham @ 2023-07-12 13:30:32
@[zhuyihao20100712](/user/957618) 如果02:89呢,8和9不都需要改吗
by zfj123456 @ 2023-07-12 14:51:08
把8改成1就行了
by oyoham @ 2023-07-12 16:40:24
02—19是合法的。
by oyoham @ 2023-07-12 16:41:01
如果是24-31的话,要修改2个,但你的代码中输出的是 1
by oyoham @ 2023-07-12 16:45:33
这既不能是04-31,也不能是14-31.
by oyoham @ 2023-07-12 16:46:25
@[YuanHaoYu6315](/user/693278) 问题可能出在这里
by oyoham @ 2023-07-12 16:47:47
@[zhuyihao20100712](/user/957618) 好谢谢,已关注
by YuanHaoYu6315 @ 2023-07-12 16:49:55
改成这样就AC了:
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,d;
scanf("%d-%d",&m,&d);
if(d > 0 && d <= 28){
if(m <= 12 && m > 0) cout << 0 <<endl;
else cout << 1 <<endl;
}
else if(d == 29 || d== 30){
if(m == 2 || m < 1 || m > 12) cout << 1 <<endl;
else cout << 0 <<endl;
}
else if(d == 31){
if(m == 1|| m== 3 ||m == 5 || m == 7 || m == 8 || m ==10||m == 12) cout <<0 <<endl;
else if(m <= 12) cout <<1 <<endl;
else if(m % 10 == 4 || m % 10 == 6 || m % 10 == 9) cout <<2 <<endl;
else cout <<1 <<endl;
}
else if(m==0||m>12) cout<<2;
else cout <<1 <<endl;
}
```
此代码评测记录:https://www.luogu.com.cn/record/115112032
by oyoham @ 2023-07-12 16:56:20