模拟 1202 猜数

 问题描述

Xiaoz提前回到学校,他们寝室只有他和另一个兄弟,由于晚上无事可做,于是Xiaoz想出来了一个很好的游戏--要他兄弟猜他身上有多少钱。猜的方法是:他兄弟说一个数,由Xiaoz判断。如果Xiaoz认为自己没有那么多钱,会回答"too high",如果Xiaoz认为比这多,则回答"too low";如果他认为游戏结束时,会说"right on"。每次游戏结束,由他兄弟判断是不是Xiaoz说谎。如果说谎,则输出"Xiaoz is dishonest", 否则输出"Xiaoz is honest"。

输入

    有多组数据,输入一个整数 n(0<n<10 000) . 接下来的一行是( too high, too low, right on) 中的一个。如果是 right on,则这组输入结束。

输出

    Xiaoz没有说谎,则输出"Xiaoz is honest", 否则输出"Xiaoz is dishonest", 每组输出占一行。

样例输入

10

too high

3

too low

4

too high

2

right on

5

too low

7

too high

6

right on

样例输出

Xiaoz is dishonest

Xiaoz may be honest

 

#include<iostream>
#include<string.h>
#include<stdio.h>
#include<algorithm>
//#define INF 0xfffff
using namespace std;
int main()
{
    int n;
    int max,min;
	    max=100;
	    min=0;
	char a[20],b[20];   
	while(cin>>n)
	{	
		while(1)
	    {
	    	cin>>a>>b;
	        //cout<<a<<b;
	        if(a[0]=='t')
	        {
	        	if(b[0]=='h')
	        	{
	    	    	if(max>n)
	    	    	{
	    	    		max=n;
	    	    	//	cout<<max<<endl;
				    }
		    	}
		    	else
		    	{
			    	if(min<n)
			    	{
			    		min=n;
			    	//	cout<<min<<endl;
			    	}
		    	}
		    //	cout<<max<<" "<<min<<endl;
	    	}
	    	
		    else
	    	{
	    		if((n<max)&&(n>min))
		    	{
		    	//	cout<<max<<" "<<min<<" "<<n<<endl;
			    	cout<<"Xiaoz may be honest"<<endl;
		    		min=0;
		    		max=100;
			    	break;
			    }
		    	else
		    	{
			    	cout<<"Xiaoz is dishonest"<<endl;
			    	min=0;
			    	max=100;
			    	break;
		    	}
	    	}
	    cin>>n;
	    }
	}  
   	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值