pku acm 1002
2011-08-20 14:14
337 查看
#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; string format(string s) { int i = 0; for(i = 0; i < s.length(); i++) { if(s[i] != '-') { switch(s[i]) { case 'A': case 'B': case 'C': s[i] = '2'; break; case 'D': case 'E': case 'F': s[i] = '3'; break; case 'G': case 'H': case 'I': s[i] = '4'; break; case 'J': case 'K': case 'L': s[i] = '5'; break; case 'M': case 'N': case 'O': s[i] = '6'; break; case 'P': case 'R': case 'S': s[i] = '7'; break; case 'T': case 'U': case 'V': s[i] = '8'; break; case 'W': case 'X': case 'Y': s[i] = '9'; break; } } else { s.erase(i,1); i--; } } s.insert(3,1,'-'); return s; } int main() { string s; vector<string> vs; int count,k; freopen("in.txt","r",stdin); cin>>count; k = count; while(k-- > 0) { cin>>s; vs.push_back(format(s)); } vector<string>::iterator it; if(count >= 1) { sort(vs.begin(),vs.end()); k = count = 0; s = vs[0]; for(it = vs.begin(); it < vs.end(); it++) { if(*it == s)count++; else { if(count > 1) { cout<<s<<" "<<count<<endl; k = 1; } count = 1; s = *it; } } if(count > 1 && it == vs.end()) { cout<<s<<" "<<count<<endl; k = 1; } if(k == 0)cout<<"No duplicates."<<endl; } return 0; }
相关文章推荐
- [ACM]pku1002
- Pku ACM 1002
- PKU ACM 1002 487-3279 C++实现
- POJ 1002求487-3279解题报告——【PKU ACM】
- Pku acm 1002 487-3279 排序算法解题报告(一) ----二叉查找数(BST)
- PKU ACM 1003 Hangover
- hdu 4717 The Moving Points 三分法(2013 ACM/ICPC Asia Regional Online —— Warmup2 1002)
- pku acm 1005 解题报告
- 2013 ACM/ICPC 南京网络赛 1002 - Parade Show
- pku1002题解
- Pku acm 1088 滑雪 动态规划题目解题报告(十五)
- Pku acm 2371 Questions and answers 排序算法解题报告(三)----二叉查找数(BST)排序
- pku 3436 ACM Computer Factory ——最大流 EK
- PKU_ACM_3627_Bookshelf
- 杭电ACM题1000-1002
- ACM基本算法分类、推荐学习资料和配套pku习题
- acm课程练习2--1002
- 杭电ACM 1002 大数相加
- ACM: 一题STL map题 poj 1002 (bt…
- PKU JudgeOnline练手札记之1002