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

我用的方法是一24种可能一个个试,自己测试都没有问题,但总是WA,那位好心人帮忙看看

Posted by lastray at 2008-08-24 01:20:51 on Problem 1013 and last updated at 2008-08-24 01:22:26
#include <iostream>
#include <string>
//#include <fstream>
using namespace std;

string	str[7];
string	result[4];

bool check( int num );
bool in( string &s, char ch );

int main( void )
{
//	ifstream	ifile( "data.txt" );
	int		case_num, i;

	cin >> case_num;

	while( case_num-- )
	{
		cin >> str[1] >> str[2] >> result[1] >> str[3] >> str[4] >> result[2] >> str[5] >> str[6] >> result[3];
		for( i = 1; i <= 24; ++i )
		{
			if( check( i ) )		// 奇数表示轻
			{
				cout << ( char )( i / 2 + 'A' ) << " is the counterfeit coin and it is "
						<< ( i % 2 == 1 ? "light." : "heavy." ) << endl;
				break;
			}
		}
	}

	return	0;
}

bool check( int num )
{
	char	ch;
	int		i;
	int		propoty;

	ch = ( char )( num / 2 + 'A' );
	propoty = num % 2;
	for( i = 1; i <= 3; ++i )
	{
		if( result[i] == "even" )
		{
			if( in( str[2*i-1], ch ) || in( str[2*i], ch ) )		// 只要这个字母出现在even的地方,则错误
				return	false;
		}
		if( result[i] == "up" )
		{
			if( !in( str[2*i-1], ch ) && !in( str[2*i], ch ) )		// 只要这个字母不出现在不等的地方,则错误
				return	false;
			if( in( str[2*i-1], ch ) && propoty == 1 )
				return	false;
			if( in( str[2*i], ch ) && propoty == 0 )
				return	false;
		}
		if( result[i] == "down" )
		{
			if( !in( str[2*i-1], ch ) && !in( str[2*i], ch ) )		// 只要这个字母不出现在不等的地方,则错误
				return	false;
			if( in( str[2*i-1], ch ) && propoty == 0 )
				return	false;
			if( in( str[2*i], ch ) && propoty == 1 )
				return	false;
		}
	}
	return	true;
}

bool in( string &s, char ch )
{
	int		i;
	for( i = 0; i < s.size(); ++i )
		if( ch == s[i] )
			return	true;
	return	false;
}

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