题号:NC222526
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
七便士谜题是一个古老的谜题(如下左图),其规则如下:
• 方盘上有八个圆坑,每个圆坑能正好放置一枚便士,每个圆坑与其他另外两个圆坑相连(图中黑线);
• 每次操作分为两部分:(每次操作两部分缺一不可)
- 将一枚便士放置于一个尚未放置便士的圆坑中;
- 再将该便士沿着黑线移动至另一尚未放置便士的圆坑中;
• 目标为成功放置七枚便士;
为更好理解七便士谜题规则,现将圆坑按顺时针1~8编号,如上右图所示,
)
圆坑与
%5Cmod%208%2B1)
圆坑和
%5Cmod%208%2B1)
圆坑间分别存在一条边。
布丁曾尝试解这个谜题,但是中途被艾洛叫去玩游戏了,于是留下了一个七便士残局。
现在问题是,在方盘上已经存在一些硬币的情况下,是否能够通过一定的操作达成在方盘上放置七便士的目标。
输入描述:
第一行,一个整数T,表示有
组询问。
对于每组询问,输入一行,包含一个长度为8的01字符串,表示放置状况,第i个字符为 '\textbf{1}' 表示i号圆坑上已经存在一枚便士,为'0'则无,保证'1'的个数
。
输出描述:
对于每组询问,输出一行,一个字符串。"Yes"表示能够放置7枚便士,反之输出"No"(不包括引号)。
示例1
说明
对于第一组询问:
放置 4 号圆坑后移至 1 号圆坑。
放置 4 号圆坑后移至 7 号圆坑。
便成功放置 7 枚便士。