Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

蛋疼,2442老WA,谁能帮我看看

Posted by z19288291 at 2011-05-23 14:53:15 on Problem 2442
代码:
/*pku2442*/
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
long long data[2010],sum[20010],temp[2010];

void fun(int n,int i){
     for(int j=n-1;j>i;j--) sum[j]=sum[j-1];
}
void insert(long long a,int n){
     for(int i=n-1;i>0;i--){
         if(sum[i-1]<=a){
             fun(n,i);
             sum[i]=a;
             return;
         }
     }
     if(sum[0]>a){
         fun(n,0);
         sum[0]=a;
     }
}
int main(){
	int m,n,t,i,j;
	cin>>t;
	while(t--){
		cin>>m>>n;
		long long pos=0;
		memset(data,0,sizeof(data));
		memset(temp,0,sizeof(temp));
		memset(sum,0,sizeof(sum));
		for(i=0;i<m;i++){
            pos=0;
			if(i==0){
				for(j=0;j<n;j++){
					cin>>data[j];
				}
				sort(data,data+n);
				continue;
			}
			for(j=0;j<n;j++){
				cin>>temp[j];
			}
			sort(temp,temp+n);
			for(j=0;j<n;j++){
				for(int l=0;l<n;l++){
					sum[pos++]=data[l]+temp[j];
					if(pos<n) continue;
					if(data[l]+temp[j]>=sum[n-1]) break;
                    insert(sum[pos-1],n);
				}
				pos=n;
				if(data[0]+temp[j+1]>=sum[n-1]) break;
			}
            sort(sum,sum+n);
			for(j=0;j<n;j++){				data[j]=sum[j];
			}
		}
		for(i=0;i<n-1;i++) cout<<sum[i]<<' ';
		cout<<sum[i]<<endl;
	}
	system("pause");
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator