NC222526. 七便士
描述
• 方盘上有八个圆坑,每个圆坑能正好放置一枚便士,每个圆坑与其他另外两个圆坑相连(图中黑线);
• 每次操作分为两部分:(每次操作两部分缺一不可)
输入描述
第一行,一个整数T,表示有组询问。
对于每组询问,输入一行,包含一个长度为8的01字符串,表示放置状况,第i个字符为 '\textbf{1}' 表示i号圆坑上已经存在一枚便士,为'0'则无,保证'1'的个数。
输出描述
对于每组询问,输出一行,一个字符串。"Yes"表示能够放置7枚便士,反之输出"No"(不包括引号)。
示例1
输入:
2 01101101 00010100
输出:
Yes No
说明:
C++ 解法, 执行用时: 4ms, 内存消耗: 612K, 提交时间: 2021-07-08 13:26:00
#include<iostream> #include<string> using namespace std; int main(){ int t;cin>>t; while(t--){ string a;cin>>a; int cnt=0; for(int i=0;i<8;++i) if(a[i]!=a[(i+3)%8])cnt++; if(cnt>2)cout<<"No"<<endl; else cout<<"Yes"<<endl; } return 0; }
Python3 解法, 执行用时: 29ms, 内存消耗: 4624K, 提交时间: 2022-04-12 15:31:26
for _ in range(int(input())): cnt=0 l=[1,4,7,2,5,8,3,6] s=input() for i in range(7): if s[l[i]-1]!=s[l[i+1]-1]: cnt+=1 if (cnt<=2):print("Yes") else:print("No")