⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2886931_ac_1884ms_2148k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -