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:Why TLE ? Give me a reason !!!!! I just test n^2 times ! You can tell me?In Reply To:Why TLE ? Give me a reason !!!!! I just test n^2 times ! You can tell me? Posted by:jesse_luzexi at 2007-04-19 18:38:17 > #include "iostream" > > using namespace std; > > char color[11][11]; > int colothes[11][101]; > int num_colothes[11]; > char temp[11]; > int dp[101][100001]; > > int minimum (const void *a,const void *b) > { > return *(int *)a-*(int *)b; > } > > > int main () > { > int i,j,k; > int n,m; > int num; > int sum,total,max; > int temp1; > //freopen("in1.txt","r",stdin); > for(;scanf("%d%d",&n,&m)!=EOF;) > { > if(n==0 && m==0 ) return 1; > > for(i=0;i<n;i++) > scanf("%s",color[i]); > > memset(num_colothes,0,sizeof(num_colothes)); > > for(i=0;i<m;i++) > { > scanf("%d %s",&num,temp); > for(j=0;j<n;j++) > if(strcmp(temp,color[j])==0) > break; > colothes[j][ num_colothes[j]++ ] = num; > } > /* > for(i=0;i<n;i++) > { > qsort( colothes[i] , num_colothes[i] , sizeof(int) , minimum); > }*/ > > total=0; > > for(i = 0; i < n ;i++) > { > if(num_colothes[i]==0) continue; > > sum=0; > > for(j=0 ; j< num_colothes[i] ;j++) > sum+=colothes[i][j]; > > memset(dp,0,sizeof(dp)); > > for(j=0;j<=num_colothes[i];j++) > dp[j][0]=1; > > max=0; > temp1=0; > > for(j=1;j<=num_colothes[i];j++) > { > for( k = colothes[i][j-1] ; k<=sum/2 /*&& k<= temp1*/ ;k++ ) > { > /* > if(dp[ j-1 ][ k ]!=1 ) continue; > dp[ j ][ k + colothes[ i ][ j-1 ] ] = 1 ; > > if(k + colothes[ i ][ j-1 ] >max) > max=k + colothes[ i ][ j-1 ];*/ > if(dp[j-1][ k-colothes[i][j-1] ]==1) > { > if(k>max) > max=k; > dp[ j ][ k ] = 1 ; > } > } > //temp1 += colothes[i][j-1] ; > } > total+=sum-max; > > } > printf("%d\n",total); > } > return 1; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator