A. 阿兔与猜拳

    交互题 1000ms 256MiB

阿兔与猜拳

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

这是一个交互式问题。每次输出一行后,必须立即刷新输出缓冲区。例如,在 C++ 中使用 fflush(stdout),在 Java 中使用 System.out.flush(),在 Pascal 中使用 flush(output)

你和阿兔进行一场石头剪刀布比赛。这是一场特殊的比赛,阿兔会先出拳,而你需要在 22 次询问内猜出阿兔出的是什么拳。

交互程序

交互程序首先输出一个整数 t(1t1000)t(1≤t≤1000),表示测试总数。

在每个测试用例中,你的程序需要输出询问或答案:

  • 询问:输出 ? 拳,表示你询问的拳(最多询问 22 次)。
  • 答案:输出 ! 拳,表示你最终猜测阿兔出的拳。
  • 拳只能是 shitou(石头)、jiandao(剪刀)、bu(布)。

交互程序会根据你的询问或答案返回以下响应:

  • 如果你询问的拳与阿兔的拳相同(平局),返回 0
  • 如果你询问的拳能使任一方赢,返回 1
  • 如果你正确猜出阿兔的拳(即输出 ! 拳 且答案正确),返回 2
  • 其他情况(如格式错误、超过询问次数等),交互程序会直接终止并返回 -1 判定答案错误,若你的程序接收到此结果但没有终止,则会判定时间超限等不可预知的错误。
1

0

2

? jiandao

! jiandao

解释 #1

你询问 ? jiandao(剪刀),交互程序返回 0(平局),因此可以确定阿兔出的是 jiandao(剪刀)。

随后你输出正确答案 ! jiandao,交互程序返回 2(答案正确)。

浙江机电职业技术大学训练赛 2

未参加
状态
已结束
规则
ACM/ICPC
题目
6
开始于
2025-4-24 18:30
结束于
2025-4-24 20:30
持续时间
2 小时
主持人
参赛人数
22