NC214850. 对称之美
描述
输入描述
第一行一个数字 ,代表测试数据的组数
每组测试数据先给出一个数字 n,然后接下来n行每行一个只由小写字母组成的字符串
输出描述
在一行中输出 “Yes” or “No”
示例1
输入:
2 1 a 3 a b c
输出:
Yes No
pypy3(pypy3.6.1) 解法, 执行用时: 78ms, 内存消耗: 22384K, 提交时间: 2021-01-10 21:16:14
t=int(input()) sn=[] for i in range (0,t): n = int(input()) for j in range(0,n): s=input() sn.append(s) for j in range(0,n//2): b=0 for k in range(0,len(sn[j])): if sn[j][k] in sn[n-1-j]: b=1 break if b==0: print('No') break if j==n//2-1 and b==1: print('Yes') sn.clear()
C++(clang++11) 解法, 执行用时: 9ms, 内存消耗: 708K, 提交时间: 2021-01-22 20:19:12
#include<bits/stdc++.h> using namespace std; string s[10000]; int main() { int t; cin>>t; while(t--) { int n; cin>>n; for(int i=0;i<n;i++) cin>>s[i]; bool flag=true; for(int i=0;i<n/2;i++) { bool f=false; for(auto x:s[i]) if(s[n-i-1].find(x)!=string::npos) { f=true; break; } if(!f) flag=false; } if(!flag) puts("No"); else puts("Yes"); } }
Python3(3.9) 解法, 执行用时: 39ms, 内存消耗: 2944K, 提交时间: 2021-01-13 02:38:53
T = int(input()) for _ in range(T): l = [] n = int(input()) for __ in range(n): l.append(set(input().strip())) flag = 1 for __ in range(n): if not (l[__]&l[n-__-1]):flag = 0 if flag:print('Yes') else:print('No')