小明正在复习全国英语四级考试,他手里有一本词典,现在有很多单词要查。请编写程序帮助他快速找到要查的单词所在的页码。
输入格式
第1行1个正整数N,N<=10,000,表示字典中一共有多少个单词。
接下来每两行表示一个单词,其中:
第1行是一个长度小于或等于100的字符串,表示这个单词,全部小写字母,单词不会重复。
第2行是1个整数,表示这个单词在字典中的页码。
接下来一行是1个整数M,M<=10,000,表示要查的单词数。
接下来的M行,每行一个字符串,表示要查的单词,保证在字典中存在
输出格式
M行,每行一个正整数,表示第i个单词在字典中的页码。
输入/输出例子1
输入:
2
scan
10
word
15
2
scan
word
输出:
10
15
#include<bits/stdc++.h>
using namespace std;
map<string,int>person;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
string s;
int d;
cin>>s>>d;
person[s]=d;
}
int m;
cin>>m;
map<string,int>::iterator it;
for(int i=1;i<=m;i++)
{
string s;
cin>>s;
cout<<person[s]<<endl;
}
return 0;
}
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
输入格式
输入包含n+1行: 第1行是整数n,表示自然数的个数。 第2行为n个自然数。
输出格式
输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
输入/输出例子1
输入:
8
2 4 2 4 5 100 2 100
输出:
2 3
4 2
5 1
100 2
#include<bits/stdc++.h>
using namespace std;
map<int,int>person;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int s;
cin>>s;
person[s]++;
}
map<int,int>::iterator it;
for(it=person.begin();it!=person.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
}
return 0;
}