P10252 WA 求助

灌水区

## @[MarsTraveller](/user/735797) AC代码 ```c #include <bits/stdc++.h> using namespace std; int main(){ long long x,a,b,n; scanf("%lld",&n);long long tx; while(n--){ scanf("%lld%lld%lld",&x,&a,&b); if(a==0||x==0){ if(b==0){ printf("0\n");continue; } } if(a==1){ if(!b){ cout<<x<<endl; } else{ cout<<x%b-b<<endl; } continue; } if(b==0){ printf("%lld\n",x);continue; } tx=x; if(a*x-b>=x){ printf("%lld\n",x);continue; } if((a*x-b)-((a*x-b)*a-b)==1){ printf("-1\n");continue; } else{ for(int i=1;x>=0;i++){ x=a*x-b; } printf("%lld\n",x); } } return 0; } ```
by Fubaogege @ 2024-03-19 20:39:11


@[Fubaogege](/user/759940) 具体思路是什么
by MarsTraveller @ 2024-03-19 20:42:28


@[MarsTraveller](/user/735797) [某人的题解](https://www.luogu.com/article/fgorwq9x)
by Fubaogege @ 2024-03-19 20:45:30


@[Fubaogege](/user/759940) 那我这个有什么问题吗
by MarsTraveller @ 2024-03-19 20:57:15


@[MarsTraveller](/user/735797) ```c if(a==1){ if(!b){ cout<<x<<endl; } else{ cout<<x%b-b<<endl; } continue; } ``` 试一试
by Fubaogege @ 2024-03-19 21:00:31


@[Fubaogege](/user/759940) 过了,但这个好像和我原来的没区别
by MarsTraveller @ 2024-03-19 21:18:09


@[Fubaogege](/user/759940) 不是很理解
by MarsTraveller @ 2024-03-19 21:21:18


@[Fubaogege](/user/759940) 理解了 ```cpp if(a == 1) { big t = floor(x*1.0/b+1); printf("%lld\n",x-t*b); continue; } ```
by MarsTraveller @ 2024-03-19 21:29:04


|