| ||||||||||
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:用不着怎么麻烦吧In Reply To:用不着怎么麻烦吧 Posted by:nuanran at 2006-08-19 09:41:50 #include<iostream.h> # include<stdlib.h> #include<math.h> int comp(const void* a,const void *b) { return *(int*)b-*(int*)a; } int Turn(int t[],int n) { int i,j,x; j=n-1; for(i=0;i<n/2;i++) { x=t[i]; t[i]=t[j]; t[j]=x; j--; } return 0; } int main() { int n; int x; int i,j,k; int num[1010]; while(cin>>n&&n!=0) { int a[1010][50]={0}; for(i=0;i<n;i++) { cin>>num[i]; } qsort(num,n,sizeof(int),comp); x=num[0]; j=0; while(x>0) { a[0][j]=x%2; j++; x/=2; } int len=j; Turn(a[0],len); for(i=1;i<n;i++) { x=num[i]; j=len-1; while(x>0) { a[i][j]=x%2; j--; x/=2; } } for(i=0;i<n;i++) { for(j=0;j<len;j++) { cout<<a[i][j]; } cout<<endl; } int count[50]={0}; for(i=0;i<len;i++) { for(j=0;j<n;j++) { count[i]+=a[j][i]; } } // for(i=0;i<n;i++) { /// cout<<a[i][len-1]<<endl; } // for(i=0;i<len;i++) //{ // cout<<count[i] ; //} // cout<<endl; int sum=0; for(i=0;i<len;i++) { if(count[i]%2==1) { sum+=pow(2,len-i-1); break; } } //cout<<sum<<endl; int count1=0; if(sum!=0) { for(i=0;i<n;i++) { if(num[i]>=sum) { count1++; } } } cout<<count1<<endl; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator