Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
java还能怎么优化?import java.util.*; public class Main { public static void main(String[] args) { int[][] rec = new int[10001][32]; int[] xor = new int[32]; xor[0] = 1; for(int i = 1; i < 31; ++i) xor[i] = xor[i - 1] * 2; xor[31] = 0x80000000; int n, q, ii, jj, num, temp; Scanner scan = new Scanner(System.in); n = scan.nextInt(); for(int i = 1; i <= n; ++i) { num = scan.nextInt(); int tempx = i / 32; int left = i % 32; if(left == 0) { tempx = tempx - 1; left = 32; } int temps = xor[left - 1]; for(int j = 0; j < num; ++j) { temp = scan.nextInt(); rec[temp][tempx] = (rec[temp][tempx] | temps); } } q = scan.nextInt(); int max = (n + 31) / 32; for(int i = 0; i < q; ++i) { ii = scan.nextInt(); jj = scan.nextInt(); boolean flag = false; for(int j = 0; j < max; ++j) { if((rec[ii][j] & rec[jj][j]) != 0) { flag = true; break; } } if(flag) System.out.println("Yes"); else System.out.println("No"); } } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator