ZOJ 1926 Guessing Game

传送门:

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1926



题目大意:两人在猜数字,1~10,对于其中一个猜的数,Stan给出"too high", "too low", or "right on".如果Stan给出的是假的,那么输出Stan is dishonest否则输出Stan may be honest  每个例子均以right on结束


注意范围缩小时候输入的x应该在现在的范围内。否则区间就会扩大区间导致WA

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char action[32];
int main()
{
	int x;
	int low=0,high=11;

	bool ok=true;
	while(scanf("%d",&x),x)
	{
		//getchar();
		gets(action);
		//cout<<action<<endl;

		if(strcmp(action,"too high")==0 && x<high )
			high=x;
		else if(strcmp(action,"too low")==0 && x>low)
			low=x;
		else if(strcmp(action,"right on")==0)
		{
			if(x<high && x>low )
				printf("Stan may be honest\n");
			else 
				printf("Stan is dishonest\n");
			
			low=0;
			high=11;
		}	

	}

}


posted @ 2013-09-12 14:31  hr_whisper  阅读(120)  评论(0编辑  收藏  举报