题目地址:
http://bailian.openjudge.cn/practice/1002
Version 1.0 (2014-11-27)
Memory = 40124 kb
Time = 440 ms
Code
#include <stdio.h>
int Table[256];
int Count[1000][10000];
int main()
{
Table['A'] = Table['B'] = Table['C'] = 2;
Table['D'] = Table['E'] = Table['F'] = 3;
Table['G'] = Table['H'] = Table['I'] = 4;
Table['J'] = Table['K'] = Table['L'] = 5;
Table['M'] = Table['N'] = Table['O'] = 6;
Table['P'] = Table['R'] = Table['S'] = 7;
Table['T'] = Table['U'] = Table['V'] = 8;
Table['W'] = Table['X'] = Table['Y'] = 9;
for (unsigned char x = '0'; x <= '9'; x++) {
Table[x] = (int)(x - '0');
}
scanf("%*d");
char Tel[201];
while (scanf("%s", Tel) != EOF) {
int t1 = 0, t2 = 0;
int Tmp[7]; int Index = 0;
int i = 0;
while (Tel[i] != 0) {
if (Tel[i] != '-') {
Tmp[Index] = Table[Tel[i]];
Index++;
}
i++;
}
t1 = 100 * Tmp[0] + 10 * Tmp[1] + Tmp[2];
t2 = 1000 * Tmp[3] + 100 * Tmp[4] + 10 * Tmp[5] + Tmp[6];
Count[t1][t2]++;
}
bool Out = true;
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 10000; j++) {
if (Count[i][j] > 1) {
printf("%.3d-%.4d %d\n", i, j, Count[i][j]);
Out = false;
}
}
}
if (Out) printf("No duplicates.");
return 0;
}