华为oj之兄弟单词
来源:互联网 发布:怎么当淘宝客服 编辑:程序博客网 时间:2024/05/02 02:32
#include <iostream>#include <string>#include <cstdio>using namespace std;int main(){int n,num,count = 0;scanf("%d\n",&n);/*word表示查找的单词*/string word;/*输入的n个单词*/string *str = new string[n];int flag[26] = {};int flagword[26] = {};int *pi = new int[n];for (int i = 0;i < n;i++)getline(cin,str[i]);getline(cin,word);cin >> num;/*对输入的字符串排序*/for (int i = 0;i < n - 1;i++)for (int j = 0; j < n - i - 1;j++)if (str[j] > str[j+1]){string temp = str[j];str[j] = str[j+1];str[j+1] = temp;}int wordlen = word.length();int q=0,k;/*用flag来标记,a对应flag[0],依次下去,z代表flag[26]*/for (int i = 0; i < wordlen;i++)flagword[word[i] - 'a']++;for (int i = 0; i < n;i++){memset(flag,0,26*sizeof(int));int len = str[i].length();for (int j = 0; j < len;j++)flag[str[i][j] - 'a']++;/*只有flag相同位置上的数相等时,才表示兄弟单词,但要排除自身*/if (str[i] != word)for (int m = 0; m < 26;m++)if (flag[m] == flagword[m]){k=1;continue;}else{k = 0;break;}else k = 0;if (k == 1){count++;pi[q] = i;/*将兄弟单词的位置记录下来*/q++;}}cout << count<< endl<<str[pi[num-1]]<< endl;delete[] str;delete[] pi;}
0 0
- 华为oj之兄弟单词
- 【华为OJ】查找兄弟单词
- 华为oj 查找兄弟单词
- 华为OJ:查找兄弟单词
- 华为OJ-查找兄弟单词
- 华为OJ(查找兄弟单词)
- 华为OJ中级题-查找兄弟单词
- 【华为OJ】【073-查找兄弟单词】
- 华为OJ——查找兄弟单词
- 华为OJ——查找兄弟单词
- 【华为OJ】查找兄弟单词(未通过)
- OJ中------兄弟单词
- 华为oj之【中级】单词倒排
- 单词博弈-华为OJ
- 华为练习2 查找兄弟单词
- 华为机试---查找兄弟单词
- 华为机试-查找兄弟单词
- 华为oj之字符串最后一个单词的长度
- 安卓初学-创建Fragment(Creating a Fragment)
- BlueprintListener的使用
- 【Qt Warning】No1:Debug build
- Java中equals和==的区别
- linux下无法添加用户和组
- 华为oj之兄弟单词
- PhoneGap (Cordova 5.4.0) 生成android签名apk
- LeetCode -- Permutations II
- URL传递参数长度限制
- android studio 导入eclipse的项目
- ToolBar基本使用方法
- Eclipse中如何修改SVN的地址
- LeetCode -- Product of Array Except Self
- Mysql 相关 记录