省略
省略
C++に変換後のコードはこちら
int N;
ll A, B, C, D, X[1d5], Y[1d5];
{
int i, j, k;
ll d, xx, yy;
int res = 0;
rd(A,B,C,D,N,(X,Y)(N));
d = A*D - B*C;
if(d < 0) d = -d;
if(d == 0){
if(A==C==0){
i = gcd(B, D);
A = 0;
B = i;
} else {
i = gcd(A, C);
B = B * i / A;
A = i;
}
rep(k,N){
i = if[A, X[k]/A, Y[k]/B];
X[k] -= A * i;
Y[k] -= B * i;
}
} else {
rep(k,N){
xx = X[k];
yy = Y[k];
X[k] = (xx * D - yy * C) %% d;
Y[k] = (yy * A - xx * B) %% d;
}
}
sortA(N, X, Y);
rep(i,N) if(i==0 || X[i]!=X[i-1] || Y[i]!=Y[i-1]) res++;
wt(res);
}
Current time: 2024年04月19日10時42分18秒
Last modified: 2019年07月06日15時31分38秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る
Logged in as: unknown user (not login)