百炼OJ - 1002 - 方便记忆的电话号码
˼· 开个一千万的数组计数,最后遍历即可。 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int num=0; int mymap[10000000] = {0}; int change(char a[201]) { int j=0, result=0; for(int i=0;i<strlen(a);i++) { if(a[i] == '-') continue; if(a[i] <= '9' && a[i] >= '0') { result = result*10+a[i]-'0'; continue; } if( a[i] <= 'O' && a[i] >= 'A' ) { result = result*10+ (int)((a[i]-'A')/3) + 2; continue; } switch (a[i]) { case 'P': case 'R': case 'S': result = result*10+7; break; case 'T': case 'U': case 'V': result = result*10+8; break; case 'W': case 'X': case 'Y': result = result*10+9; break; }