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

贪心为什么会错???下是错误的代码,指点一下吧。。。

Posted by fengzunbao2006 at 2008-07-13 17:51:09 on Problem 1083
#include<iostream>
#include<string.h>
struct room
{
	int beg;
	int end;
} s[201];
int hash[201];

int cmp( const void *a ,const void *b)
{
	return (*(room *)a).end > (*(room *)b).end ? 1 : -1;
}
int main()
{
	bool lab;
	int nCase,N,ans;
	int i,j,a,b;
	scanf("%d",&nCase);
	while(nCase -- )
	{
		scanf("%d",&N);
		for(i=0;i<N;i++)
		{

			scanf("%d%d",&a,&b);
			if(a%2 == 1) a++;
			if(b%2 == 1) b++;
			a/=2;b/=2;
			s[i].beg=a<b?a:b;
			s[i].end=a>b?a:b;

		}
		qsort(s,N,sizeof(s[0]),cmp);
		memset(hash,0,sizeof(hash));
		ans=0;
		int begi;
		while(true)
		{
			lab=false;
			for(j=0;j<N;j++)
			{
				if(hash[j] == 0) 
				{
					begi=j;
					hash[j]=1;
					lab=true;
					ans++;
					break;
				}
			}
			if(lab == false) break;

			for(j=begi+1;j<N;j++)
			{
				if(s[j].beg>s[begi].end)
				{
					hash[j]=1;
					begi=j;
				}
			}
		}
		printf("%d\n",ans*10);

	}
	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