int d[N];
bool major(){
mem0xff(d);
int h=read(),x=read(),y=read(),z=read();
if(x>z)swap(x,z);
if(y>z)swap(y,z);
queue<int>Q;
Q.push(1);d[1]=0;
while(!Q.empty()){
int a=Q.front(),b=a+y,ha=d[a],hb=ha;a+=x;
Q.pop();
if(a>=z)a-=z,ha++;
if(b>=z)b-=z,hb++;
if(d[a]==-1)d[a]=ha,Q.push(a);
if(d[b]==-1)d[b]=hb,Q.push(b);
}
int ans=0;
for(int i=0;i<z;i++)
if(~d[i])
ans+=max((h-i+z)/z-d[i],0ll);
return printf("%lld\n",ans);
}
hack:
1000000000
10164 14609 12776
输出:997748604,
答案:997756164。
我把三个数中任何一个数动一下,这个代码就过了(
所以这三个数有什么含义吗 qwq
数这么大我也调不动啊
或者大佬们再给一个一针见血的hack?qaq