#P2328. Guessing Game

Guessing Game

题目描述

Stan 和 Ollie 正在玩一个猜数字游戏。Stan 心中默想一个 111010 之间的整数,Ollie 通过猜测来推断这个数字。每次猜测后,Stan 会提示 Ollie 的猜测是“太高(too high)”、“太低(too low)”还是“正好(right on)”。

经过多轮游戏后,Ollie 怀疑 Stan 在作弊——即在 Ollie 猜测过程中偷偷更改数字。为了收集证据,Ollie 记录了若干轮游戏的对话记录。你需要根据每轮游戏的记录,判断 Stan 是否作弊。

输入格式

  • 输入包含多组游戏记录。
  • 每组记录由若干行“猜测-响应”对组成:
    • 猜测:一行一个整数 nn1n101 \leq n \leq 10);
    • 响应:一行字符串,为 "too high""too low""right on"
  • 每组游戏以 "right on" 结束。
  • 输入以一行单独的 00 终止。

输出格式

  • 对于每组游戏:
    • 如果 Stan 的响应与最终答案矛盾(证明作弊),输出 "Stan is dishonest"
    • 否则输出 "Stan may be honest"

示例分析

输入数据 1

10
too high
3
too low
4
too high
2
right on
5
too low
7
too high
6
right on
0

输出数据 1

Stan is dishonest
Stan may be honest

解释

  1. 第一组游戏
    • 初始猜测 1010,Stan 回应“太高”,说明数字 9\leq 9
    • 后续猜测 3344 的响应矛盾(33 太低但 44 又太高),最终答案 22 不在合理范围内 → Stan 作弊
  2. 第二组游戏
    • 所有响应与最终答案 66 一致 → Stan 可能诚实