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; } } }
新 blog : www.hrwhisper.me