FOJ 1410 变位词
来源:互联网 发布:oracle默认端口多少 编辑:程序博客网 时间:2024/04/28 12:40
变位词
Time Limit:1s | Memory limit:32M |
Accepted Submit:204 | Total Submit:725 |
Mr. Right有一个奇怪的嗜好,就是看见一个单词就有找它所有的变位词的冲动。一个单词的变位词就是该单词所有字母的一个排列。 输入输出格式 输入数据第一行为一个整数n,1<=n<=10^5,之后n行每行只包含一个单词,不含词组。这些单词构成了Mr. Right的字典。每个单词长度不大于9个字母。接着一行为一个整数m,1<=m<=100,表示Mr. Right将看见的单词数。之后m行每行包含一个单词。(题目中出现的每个单词都只由小写字母组成)对应Mr. Right看到的每个单词,输出落在字典里的它的变位词的个数。 输入样例 3teaateeat3ateabctea 输出样例 303 Original: FZUPC 2006 |
首先佩服我的RP,第一次提交1.00s通过,ft...........
把cin改scanf就快多了也...
思路是把词排序完比较,这样会快点............................................大牛们说可以用树,不懂树的人只能路过了......
- #include <iostream>
- #include <algorithm>
- using namespace std;
- struct dictionary
- {
- char word[10];
- }w[100001];
- char temp[10];
- int main()
- {int n,m,i,j,num;
- scanf("%d",&n);
- getchar();
- for(i=1;i<=n;i++)
- {
- scanf("%s",w[i].word);
- sort(w[i].word,w[i].word+strlen(w[i].word));
- }
- scanf("%d",&m);
- getchar();
- for(i=1;i<=m;i++)
- {
- num=0;
- scanf("%s",temp);
- sort(temp,temp+strlen(temp));
- for(j=1;j<=n;j++)
- if(strcmp(temp,w[j].word)==0) num++;
- printf("%d/n",num);
- }
- return 0;
- }
- FOJ 1410 变位词
- FZU 1410 变位词
- FZU 1410 变位词
- FZU 1410 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 变位词
- 链表 变位词 anagram
- 变位词问题
- 变位词问题
- 变位词问题
- 变位词的实现
- Anagrams 变位词
- 变位词实现
- 盘点一下过去
- 聪明的人善于借助他人的力量
- 打工的
- 一个无敌删除命令
- ORACLE存储过程一点注意
- FOJ 1410 变位词
- 读新闻,学英语—戏说国外新闻网站(转)
- 拥有至高无上的特权 使用system账户
- 事典:衣锦还乡的苏秦
- 有声英语网站(转)
- 一行代码禁用 ctrl+alt+del
- Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
- C# String.Format格式说明
- CxImage库学习体会之一