被cha了,(┬_┬), 原因是用 (b - a) * c >= 0 来表示(b-a) 与 c同号, 或b - a == 0.这里int * int 溢出了,以后还是基本上不要这样,写了。
老老实实的 ((t>=0&&c > 0)|| (t<=0 && c < 0)) 这样写吧。
如果 c == 0, 则 a == b 则YES 否则 NO
如果c != 0, 则看看能不能整除, 同时 (b-a) 要与c同号(如果 b与a不相等)
#include
#include
using namespace std;
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
int t = b-a;
if(c == 0){
if(a == b) printf("YES");
else printf("NO");
}
else{
//if(t%c == 0 && (t*c >= 0)) printf("YES"); //!t*c 溢出了
if(t%c == 0 && ((t>=0&&c > 0)|| (t<=0 && c < 0))) printf("YES");
else printf("NO");
}
return 0;
}
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
https://www.prolightsfxjh.com/
Thank you!
------from ProLightsfx
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://prolightsfxjh.com/article/codeforces-round-353-div-2-a-infinite-sequence/
共有 0 条评论