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 |
why?????????wa#include<iostream.h> #include<stdlib.h> #include<memory.h> double box[500][1000]; double gif[ 1000 ]; double result[ 500 ]; int cmp( const void *a, const void *b ) { return int( (*(double*)a)-(*(double*)b) ); } bool isBigger( double a[], double b[], long c) { bool big = false; for( long i = 0; i < c; i++ ){ if( a[i] > b[i] ){ big = true; break; } if( a[i] < b[i] ){ big = false; break; } } return big; } bool bigger( double a[],double b[],long c) { for( int i = 0; i < c; i++ ) if( a[i] <= b[i] )break; if( i == c ) return true; return false; } int main() { long n,d,k; double count; double max=0; while( cin >> n >> d ){ max=0; memset(result,0,500 ); count=0; long i = 0; for( i = 0; i < d; i++ ) cin >> gif[i]; qsort(gif,d,sizeof( int ),cmp ); for( i = 0; i < n; i++ ){ for( long j = 0; j < d; j++ ) cin >> box[i][j]; qsort(box[i],d,sizeof( box[0][0] ),cmp ); } for( long h = 0; h <= n-1 ; h ++ ){ for( long kk = 0;kk<n-h-1;kk++){ if( isBigger(box[kk],box[kk+1],d )){ for( long mm=0;mm<d;mm++){ double temp=box[kk][mm]; box[kk][mm] = box[kk+1][mm]; box[kk+1][mm] = temp; } } } } for( k = 0; k < n; k++ ){ if( bigger(box[k],gif,d) ) result[k]++; max = 0; for(long m=0; m < k; m++ ){ if( bigger(box[k],box[m],d) ) if( result[ m ] > max ) max = result[m]; } result[k] += max; if( result[k] > count ) count = result[k]; } if( count == 0 ) cout <<"Please look for another gift shop!"<<endl; else cout << count << 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