#include<cstdio>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<set>
#include<utility>
#include<iomanip>
#include<queue>
#include<deque>
#include<iterator>
#include<assert.h>
#include<bitset>
#include<climits>
#include<ctime>
#include<complex>
using namespace std;
#define SET(a) memset(a,-1,sizeof(a))
#define ALL(a) a.begin(),a.end()
#define CLR(a) memset(a,0,sizeof(a))
#define PB push_back
#define PI acos(-1.0)
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
#define READ freopen("input.txt", "r", stdin)
#define WRITE freopen("output.txt", "w", stdout)
#define LL long long
#define S(a) scanf("%d",&a)
#define S2(a,b) scanf("%d%d",&a,&b)
#define KS printf("Case %d: ",kk++)
#define MOD 1000000007
#define MX 100010
int main()
{
string s, line;
int n;
set<string>st;
set<string>:: iterator it;
map<string, int>mp;
cin>>n;
while(n--)
{
cin>>s;
getline(cin, line);
mp[s]++;
st.insert(s);
//cout<<"done"<<endl;
}
for(it=st.begin();it!=st.end();it++)
cout<<*it<<" "<<mp[*it]<<endl;
return 0;
}
i can't understand your code.. please do you explain it to me?? line by line... thanks in advance..
ReplyDeleteTo understand this you have to go through the terms MAP and SET from STL in C++.After that hopefully you will understand.
Delete