📄 2886931_ac_1884ms_2148k.java
字号:
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner (System.in);
BigInteger x[][] = new BigInteger [111][2];
BigInteger y[][] = new BigInteger [111][2];
BigInteger one = new BigInteger ("1");
BigInteger zero = new BigInteger ("0");
int i, n;
int a, b, c, d;
int flag;
flag = 0;
n = cin.nextInt();
for(i = 1; i <= n; i++)
{
x[i][0] = cin.nextBigInteger();
x[i][1] = y[i][1] = one;
y[i][0] = cin.nextBigInteger();
}
int m;
m = cin.nextInt();
BigInteger A1u, B1u, C1u, A2u, B2u, C2u;
BigInteger A1d, B1d, C1d, A2d, B2d, C2d;
BigInteger xa, ya, xb, yb, xc, yc, xd, yd;
BigInteger ax, ay, bx, by, cx, cy, dx, dy;
BigInteger xxu, xxd, yyu, yyd;
for(i = 0; i < m; i++)
{
a = cin.nextInt();
b = cin.nextInt();
c = cin.nextInt();
d = cin.nextInt();
if(flag!=0)
continue;
xa = x[a][0];xb = x[b][0];xc = x[c][0];xd = x[d][0];
ya = y[a][0];yb = y[b][0];yc = y[c][0];yd = y[d][0];
ax = x[a][1];bx = x[b][1];cx = x[c][1];dx = x[d][1];
ay = y[a][1];by = y[b][1];cy = y[c][1];dy = y[d][1];
A1u = yb.multiply(ay).subtract(ya.multiply(by));
A1d = ay.multiply(by);
B1u = xa.multiply(bx).subtract(xb.multiply(ax));
B1d = ax.multiply(bx);
C1u = xb.multiply(ya).multiply(ax).multiply(by).subtract(xa.multiply(yb).multiply(bx).multiply(ay));
C1d = bx.multiply(ay).multiply(ax).multiply(by);
A2u = yd.multiply(cy).subtract(yc.multiply(dy));
A2d = cy.multiply(dy);
B2u = xc.multiply(dx).subtract(xd.multiply(cx));
B2d = cx.multiply(dx);
C2u = xd.multiply(yc).multiply(cx).multiply(dy).subtract(xc.multiply(yd).multiply(dx).multiply(cy));
C2d = dx.multiply(cy).multiply(cx).multiply(dy);
xxu = C2u.multiply(B1u).multiply(C1d).multiply(B2d);
xxu = xxu.subtract(C1u.multiply(B2u).multiply(C2d).multiply(B1d));
xxu = xxu.multiply(A1d).multiply(A2d);
xxd = A1u.multiply(B2u).multiply(A2d).multiply(B1d);
xxd = xxd.subtract(A2u.multiply(B1u).multiply(B2d).multiply(A1d));
xxd = xxd.multiply(C1d).multiply(C2d);
yyu = C2u.multiply(A1u).multiply(C1d).multiply(A2d);
yyu = yyu.subtract(C1u.multiply(A2u).multiply(C2d).multiply(A1d));
yyu = yyu.multiply(B1d).multiply(B2d);
yyd = A2u.multiply(B1u).multiply(B2d).multiply(A1d);
yyd = yyd.subtract(A1u.multiply(B2u).multiply(A2d).multiply(B1d));
yyd = yyd.multiply(C1d).multiply(C2d);
if(xxu.equals(zero)&&yyu.equals(zero))
flag = i+1;
else
{
n++;
x[n][0] = xxu;x[n][1] = xxd;
y[n][0] = yyu;y[n][1] = yyd;
}
}
System.out.println(flag);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -