POJ 1002 487-3279(map)
2016-11-02 21:56
639 查看
题目链接:传送门
用map 因为里面的数字只有7位,所以可以开map< int,int>省去用< string,int>的写法
其中map的first代表第一个变量,second 代表第二个变量
代码如下:
开始肛一波POJ
用map 因为里面的数字只有7位,所以可以开map< int,int>省去用< string,int>的写法
其中map的first代表第一个变量,second 代表第二个变量
代码如下:
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<iostream> #include<map> using namespace std; #define N 110 char a ,b ; int main(){ map<int,int>res; int T,i,j,n,m; cin>>n; int cnt=0; while(n--){ scanf("%s",a); long long int cnt1=0; for(i=0;a[i];i++){ if(a[i]=='-') continue; if(a[i]=='A'||a[i]=='B'||a[i]=='C') cnt1=cnt1*10+2; if(a[i]=='D'||a[i]=='E'||a[i]=='F') cnt1=cnt1*10+3; if(a[i]=='G'||a[i]=='H'||a[i]=='I') cnt1=cnt1*10+4; if(a[i]=='J'||a[i]=='K'||a[i]=='L') cnt1=cnt1*10+5; if(a[i]=='M'||a[i]=='N'||a[i]=='O') cnt1=cnt1*10+6; if(a[i]=='P'||a[i]=='R'||a[i]=='S') cnt1=cnt1*10+7; if(a[i]=='T'||a[i]=='U'||a[i]=='V') cnt1=cnt1*10+8; if(a[i]=='W'||a[i]=='X'||a[i]=='Y') cnt1=cnt1*10+9; if(a[i]<='9'&&a[i]>='0') cnt1=cnt1*10+a[i]-'0'; } res[cnt1]++; } map<int,int>::iterator it; for(it=res.begin();it!=res.end();it++) { if(it->second>1) { cnt++; printf("%03d-%04d %d\n",it->first/10000,it->first%10000,it->second); } } if(cnt==0) printf("No duplicates.\n"); return 0; }
开始肛一波POJ
相关文章推荐
- POJ-1002 487-3279(map)
- poj 1002 487-3279之map解法
- POJ1002 487-3279(map映射)
- POJ 1002 487-3279(map应用)
- 【String+Map版】从poj 1002——487-3279的STL做法和若干陷阱来分析MAP
- POJ 1002 487-3279 MAP||Sort
- poj 1002 487-3279(使用STL map)
- poj 1002 487-3279(map)
- poj 1002(487-3279)STL中的map
- POJ 1002 487-3279(Map)
- POJ 1002 487-3279(map映照容器的使用)
- poj 1002 487-3279 map的使用
- 【POJ】1002 487-3279
- C++——字符串例题——487-3279(POJ1002)
- poj 1002 487-3279
- 北大poj-1002题-487-3279
- [POJ][1002]487-3279
- POJ 1002 487-3279
- poj 1002 487-3279 // hoj 1347 487-3279
- POJ 1002 487-3279