hdu 1860统计字符

本来是想用map写的,但是map里面会自动按字典序升序排序导致wa了一把,供

 1 #include<time.h>
 2 #include <cstdio>
 3 #include <iostream>
 4 #include<iterator>
 5 #include<algorithm>
 6 #include<math.h>
 7 #include <string.h>
 8 #include<vector>
 9 #include<queue>
10 #include<map>
11 typedef long long int ll;
12 using namespace std;
13
14 /*
15 int gcd(int a,int b)
16 {
17     return b==0?a:gcd(b,a%b);
18 }
19 */
20
21 char c[100005],d[100005];
22 map<char,int> m_map;
23
24
25 int main()
26 {
27     int len1,len2,sum;
28     while(gets(c))
29     {
30         if(c[0]==‘#‘)
31             break;
32         gets(d);
33         len1=strlen(c);
34         len2=strlen(d);
35         //m_map.clear();
36         for(int i=0;i<len1;i++)
37         {
38             sum=0;
39             for(int j=0;j<len2;j++)
40             {
41                 if(c[i]==d[j])
42                     sum++;
43             }
44             printf("%c %d\n",c[i],sum);
45         }
46         /*
47         map<char,int>::iterator it=m_map.begin();
48         for(it;it!=m_map.end();it++)
49             cout<<it->first<<" "<<it->second<<endl;
50         */
51     }
52     return 0;
53  } 

参考

时间: 2024-10-24 03:53:33

hdu 1860统计字符的相关文章

Hdu 1860 统计字符

统计字符 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11529    Accepted Submission(s): 7195 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字

统计字符(杭电1860)

/*统计字符 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串.注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一.当读到'#'时输入结束,相应的结果不要输出. Output 对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0 n0 c1 n1 c2 n2 ... 其中ci是第1行中

(count 或直接枚举) 统计字符 hdu1860

统计字符(很水) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1860 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12731    Accepted Submission(s): 7918 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试

hdu 1251 统计难题 (map水过)

# include <stdio.h> # include <algorithm> # include <string.h> # include <map> # include <iostream> using namespace std; int main() { char a; string x; map<string,int>q; while(true) { scanf("%c",&a); if(a=

HDU 1251 统计难题 Trie题解

基本上是标准的寻找前缀的问题,只需要insert和search函数就可以了. 我这里主要是修改一下n的记录方法,这里的n代表的不是叶子节点的标志,而是有多少单词经过了这条路径的标志. 然后是查找需要查找的前缀单词,如果没有找到,就返回0,表示没有单词以这个前缀单词为前缀,如果找到,直接返回n就是答案了.因为有n个单词经过了这条路径. 查找效率是常数. 使用静态分配空间的办法. #include <stdio.h> #include <string.h> const int MAX_

C语言统计字符数

一段统计字符数的代码及分析. 先贴代码: #include<stdio.h> #include<string.h>//提供memset函数原型. int main() { char S[80]; int C[26],length;//一段声明,即字符数组S,整型数组C,和整型length. memset(C,0,sizeof(C));//将C清零,至于为什么不把字符数组清零,稍后有一段实验过程. for(int i=0;i<=3;i++)//循环4次,读入4行字符串. { g

29:统计字符数

29:统计字符数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多. 输入 输入包含一行,一个字符串,长度不超过1000. 输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开.如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符. 样例输入 abbccc 样例输出 c 3 来源 1744 1 #include<iostream> 2 #

[ACM] hdu 1251 统计难题 (字典树)

统计难题 Problem Description Ignatius近期遇到一个难题,老师交给他非常多单词(仅仅有小写字母组成,不会有反复的单词出现),如今老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每一个提问都是一个字符串. 注意:本题仅仅有一组測试数据,处理到文件结束. Out

ACM: HDU 2563 统计问题-DFS+打表

HDU 2563 统计问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u HDU 2563 Description 在一无限大的二维平面中,我们做如下假设: 1.  每次只能移动一格: 2.  不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走): 3.  走过的格子立即塌陷无法再走第二次: 求走n步不同的方案数(2种走法只要有一步不一样,即