本题难度为蓝,但是实际上因为答案不超过 21252,所以可以直接暴力枚举加判断,轻松通过,有几篇题解都是这样通过的。
并且暴力思维难度远低于似乎是正解的 CRT,下面是我的代码:
#include<cstdio>
using namespace std;
int main()
{
int a,b,c,l,T=0;
while(true)
{
scanf("%d%d%d%d",&a,&b,&c,&l);
a%=23,b%=28,c%=33;
if(a==-1&&b==-1&&c==-1&&l==-1) break;
for(int i=l+1;i-l<=21252;i++)
if(i%23==a && i%28==b && i%33==c)
{
printf("Case %d: the next triple peak occurs in %d days.\n",++T,i-l);
break;
}
}
return 0;
}
可以看出代码难度也极低,是红题的水平。
虽然不知道当初这道题为什么会被评蓝,但是很明显,大佬们看到蓝题的难度就直奔 CRT 去了,导致题解区里用暴力的反而少。
所以,建议将此题降红。