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 03061273 at 2007-10-03 20:58:23 on Problem 1013
#include <iostream>
#include <string>

using namespace std;

char s1[3][6],s2[3][6],s[3][6];

bool seek(int x, int y)
{
	int c[12];
	int t1,t2;
	int i,j;
    
	for(i = 0; i < 12; i++){
	   c[i]=0;
	}
	c[x] = y;

	for(i = 0; i < 3; i++){
	    t1=0;
	    t2=0;

		for(j = 0; s1[i][j]!='\0';j++){
			t1+=c[s1[i][j]-'A'];
			t2+=c[s2[i][j]-'A'];
		}
		if(s[i][0]=='e')
			if(t1 != t2)
			  return false;

		if(s[i][0]=='u')
			if(t1 <= t2)
				return false;

		if(s[i][0]=='d')
			if(t1 >= t2)
				return false;
	}
	return true;
}

int main(){
	char b[12]={'A','B','C','D','E','F','G','H','I','J','K','L'};
	int a[12];
	int i,j;
	
	int n;
    cin>>n;
	while(n--)
	{
		for(i = 0; i < 12; i++)
		{
		  a[i] = 0;
		}
	   for(j = 0 ;j < 3; j++)
	   {   
 		  cin>>s1[j]>>s2[j]>>s[j];
 		  if(s[j][0]=='e')
		     continue;
          if(s[j][0]=='u'){
			 i=0;
			 while(s1[j][i]!='\0')
			 {
				if(a[s1[j][i]-'A'] == -1)
					a[s1[j][i]-'A'] = 0;
				else
				   a[s1[j][i]-'A'] = 1;
				i++;
			 }
			 i=0;
             while(s2[j][i] != '\0')
			 {
				if(a[s2[j][i]-'A'] == 1)
					a[s2[j][i]-'A'] = 0;
				else
				    a[s2[j][i]-'A'] = -1;
			    i++;
			 }
		  }
		  else if(s[j][0]=='d')
		  {
			 i=0;
			 while(s1[j][i]!='\0'){
				if(a[s1[j][i]-'A'] == 1)
					a[s1[j][i]-'A'] = 0;
				else
				    a[s1[j][i]-'A'] = -1;
			    i++;
			}
			i=0;
            while(s2[j][i]!='\0')
			{
				if(a[s2[j][i]-'A'] == -1)
					a[s2[j][i]-'A'] = 0;
    			else
				    a[s2[j][i]-'A'] = 1;
			    i++;
			}
		         
		  }
	   }
	   for(i = 0; i < 12; i++){
		   if(a[i] == 1 || a[i]==-1){
			   if( seek( i , a[i] ) )
				   break;
		   }
	   }
	   cout<<b[i];
	   printf(" is the counterfeit coin and it is ");
	   puts(a[i]<0 ? "light.":"heavy.");
	}
   	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