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 |
re死我了为什么。。。 import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws IOException { Scanner in=new Scanner(System.in); int[] pow=new int[101]; for (int i=-50;i<51;i++) pow[i+50]=i*i*i; int[] a=new int[5]; for(int i=0;i<5;i++) { a[i]=in.nextInt(); if(a[i]<0) a[i]*=-1; } Arrays.sort(a); int[] val1=new int[500002]; int[] val2=new int[5002]; int n1=0,n2=0,z1=0,z2=0; for (int i=-50;i<=50;i++) { if (i==0) i=1; for (int j=-50;j<=50;j++) { if(j==0) j=1; int t=a[0]*pow[i+50]+a[1]*pow[j+50]; if(t==0) z1++; else if(t>0) val2[n2++]=t; } } Arrays.sort(val2,0,n2); int max=val2[n2-1]+1,min=val2[0]-1; for (int i=-50;i<=50;i++) { if (i==0) i=1; for (int j=-50;j<=50;j++) { if(j==0) j=1; for(int k=-50;k<=50;k++) if(k!=0) { int t=a[2]*pow[i+50]+a[3]*pow[j+50]+a[4]*pow[k+50]; if(t==0) z2++; else if(t>min&&t<max) val1[n1++]=t; } } } Arrays.sort(val1,0,n1); int t1=0,t2=0,c=0; while(true) { while(t2<n2&&val1[t1]>val2[t2]) t2++; while(t1<n1&&val1[t1]<val2[t2]) t1++; if(t1>=n1||t2>=n2) break; else if(val1[t1]==val2[t2]) { int c1=1,c2=1; t1++; t2++; while(t1<n1&&val1[t1-1]==val1[t1]) { t1++; c1++; } while(t2<n2&&val2[t2-1]==val2[t2]) { t2++; c2++; } c+=c1*c2; } } System.out.println(c*2+z1*z2); } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator