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

请帮我看看这种做法问题出在哪里,我已经做了一晚了,就是不能AC,晕死了!!

Posted by sosoquan at 2007-04-05 03:30:28 on Problem 3211
#include<stdio.h>
#include<string.h>
void QSort(int low,int high);
int Partition(int low,int high);

struct clothes
{
  int num;
  int tf;
  char col[10];
};
int temp[100],total;

void main()
{
int i,j,M,N,k,p,s1,s2;
char color[10][10];
struct clothes c[100];
//FILE * file = freopen("a.txt","r",stdin);
while(scanf("%d %d",&M,&N)>0)
{
  if(M==0&&N==0)break;
  for(i=0;i<M;i++)
    scanf("%s",color[i]);
   for(j=0;j<N;j++)
   {
    scanf("%d %s",&c[j].num,c[j].col);
	c[j].tf=1;
   }
   for(total=j=0;j<N;j++)
   {
	 if(!c[j].tf)continue;
	 k=0;
	 s1=s2=0;
     temp[k]=c[j].num;
	 c[j].tf=0;
     for(i=0;i<N;i++)
	 {
       if(!c[i].tf)continue;
       if(!strcmp(c[j].col,c[i].col)){temp[++k]=c[i].num;c[i].tf=0;}
	 }
     //printf("\n%d----------1\n",j);
	 //for(p=0;p<=k;++p)printf("%d^",temp[p]);
     //printf("\n%d----------2\n",j);
     QSort(0,k);
     //for(p=0;p<=k;++p)printf("%d^",temp[p]);
     //printf("\n*************\n");
	 if(k==1||k==0)total=total+temp[k];
	 else
	 {
	 for(i=k,s1=temp[i--];i>=0;--i)
	 {
		 if(s1<s2)s1=s1+temp[i];
		 else s2=s2+temp[i];
	 }
	 if(s2<s1)s2=s1;
	 total=total+s2;
	 }
   }
   printf("%d\n",total);
}
//fclose(file); 
}

void QSort(int low,int high)
{
		if(low<high)
		{
			int j=Partition(low,high);
			QSort(low,j-1);
			QSort(j+1,high);
		}
}
		
int Partition(int low,int high)
{
		int pivotkey=temp[low];
		while(low<high)
		{
			while(low<high&&temp[high]>=pivotkey)--high;
			temp[low]=temp[high];
			while(low<high&&temp[low]<=pivotkey)++low;
			temp[high]=temp[low];
		}
		temp[low]=pivotkey;
		return low;
}

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