致幻度测试求助
  • 板块题目总版
  • 楼主xmy2013
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/9/5 20:27
  • 上次更新2024/9/5 23:23:00
查看原帖
致幻度测试求助
1024217
xmy2013楼主2024/9/5 20:27

致幻度测试 楠枫误食了毒蘑菇,主治医生在给他挂上点滴后,开始对他进行致幻度检查。医生采取的检查方法是,给楠枫一个单词,让他照着誊抄一遍。但是由于楠枫被幻觉影响,并不能很好的完成这个测试。比如他也许会把 “anagram” 抄成 “nagaram”,也可能把 “rat” 抄成 “car”。 对于字符串 S 和 T,若 S 和 T 中的每个字符出现的次数都相同,则称 S 和 T 互为字母异位词。主治医生给出了 n 个单词来测试楠枫,如果这 n 个单词测试的结果有 80% 及以上是字母异位词而非错误单词,才会认为楠枫的幻觉有所减轻。现在给出 n 个单词(都由英文字母构成,区分大小写),以及楠枫的誊抄结果,需要你帮忙判断一下楠枫的致幻情况是否减轻。 输入格式 第一行一个整数,代表 n 个测试。 接下来 2 行,第一行是 n 个待测试单词,第二行是 n 个被誊抄的单词。 输出格式 输出一个单词。如果致幻情况减轻了,则输出 Yes,否则输出 No。 样例 Input 1 6 PObj yulvWT CHUx kZxdRDdfTdmzi NiySzED tmPhUgfWucVEo ObjP yulvWT CHUx kgxdRDdfTWmzi NizySED tmPhUgfWucVEo Output 1 Yes Input 2 4 ixeQDmLhbDxjS WkqJAeyxGfVOch XnEGjsNfB nAAsga hjDxbiLxSDmQe hekGfqJVcWxOyA NnjBXfGEs AAsa Output 2 No 样例解释 在 sample1 中,有 6 个测试,分别是:

PObj -> ObjP yulvWT -> yulvWT CHUx -> CHUx kZxdRDdfTdmzi -> kgxdRDdfTWmzi NiySzED-> NizySED tmPhUgfWucVEo -> tmPhUgfWucVEo 其中 5 个测试的结果都是字母异位词,大于 80%,所以输出 Yes。

数据范围 1 ≤ n ≤ 1000

#include<bits/stdc++.h>
using namespace std;
struct fn{
	string a;
}k[1005];
int n,s;
int main()
{
	cin>>n;
	int m=n,i=1;
	while(n--){
		cin>>k[i].a;
		i++;
	}
	n=m;
	int id=1;
	while(m--){
		bool flag=1;
		string b;
		cin>>b;
		string a=k[id].a;
		for(int i=0;i<b.size();i++){
			bool findbi=0;
			for(int j=0;j<b.size();j++){
				if(b[i]==a[j]){
					a[j]=0;
					findbi=1;
					break;
				}
			}
			if(findbi!=1){
				//cout<<b[i]<<endl;
				flag=0;
				break;
			}
			
		}
		//cout<<endl;
		if(flag){
		//	cout<<b<<endl;
			s++;
		} 
	}
//	cout<<"s: "<<s<<endl;
	if(s*1.0/n*100>=80) cout<<"Yes";
	else cout<<"No";
}//WA55分
2024/9/5 20:27
加载中...