ACM之单词匹配

来源:互联网 发布:java 文本按行读取 编辑:程序博客网 时间:2024/05/21 10:14

题目描述:


如果两个英文单词,组成它们的字符集合相同,而且相同字符出现的次数也相同,则称这两个词匹配:比如说:同”abbc”与词”babc”是匹配的。现在,输入长度为10的一个字符串数组.然后读取一个英文句子,字符串"null"代表句子结束.判断句子中是否有与数组中字符串匹配的单词.如果有输出"yes"没有输出"no".


输入样例:


as drg askdf wer cdva asd xsxsxs ttdenus ccc wdsI am student null

输出样例:


yes

输入描述:


一个10个字符串的数组,然后输入一个英文句子以"null"为结束标志


输出描述:


"yes"或者"no"

#include <algorithm>#include<iostream>#include<vector>#include<string>using namespace std;int main(){string str[10],s;int i,flag=0;for(i=0;i<10;i++){cin>>str[i];sort(str[i].begin(),str[i].end());}vector<string> word;//建立一个vector(容器)while(cin>>s&&s!="null"){sort(s.begin(),s.end());word.push_back(s);//把s的值放在word中}vector<string>::iterator it;for(it=word.begin();it!=word.end();++it){//vector<string>::iterator类作用域//iterator是vector<string>的一种类型for(i=0;i<10;i++)if(*it==str[i]){flag=1;cout<<"yes"<<endl;return 0;}}if(flag==0){cout<<"no"<<endl;}return 0;}

原创粉丝点击