cf#1397 A. Juggling Letters

时间:2020-9-1 作者:admin


惯例,先粘个生草翻译
cf#1397 A. Juggling Letters题意大概就是给你

nn

个字符串,你可以讲其中的字母任意移动,问是否有可能让这

nn

个字符串变成同样的字符串

我们可以另辟蹊径,直接看如果可以的话需要满足什么条件

因为每个字符串最后都相等了,所以只要出现过的字母的出现次数一定是

nn

的倍数(可能一个串里有多个)

那么我们建一个桶,记录每个字母出现的次数就行了

第一行说了是小写字母,所以题解中处理大写的…有点多余

数组建一个大于26的就行

看代码

#include<bits/stdc++.h>
using namespace std;
int n,x[52];
int main(){
	int t;
	cin>>t;
	while(t--){
		int sum=1;
		cin>>n;
		for(int i=1;i<=52;i++)
			x[i]=0;
		for(int i=1;i<=n;i++){
			string a;
			cin>>a;
			int l=a.size();
			for(int i=0;i<l;i++){
				x[a[i]-'a'+1]++;
			}
		}
		for(int i=1;i<=52;i++){//扫多也没事,反正0%n也是0(
			if(x[i]%n!=0)
			sum=0;
		}
		if(sum==0){
			cout<<"No"<<endl;
		}
		else
		cout<<"Yes"<<endl;
	}
} 
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。