这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
转载请写上本帖链接: 及【C++奋斗乐园/ACM乐园】
/**************************************** ID: 百练 OJ 2974 487 3279 题目地址: http://poj.pku.edu.cn/problem/2974/ My Name: Tanky_Woo My Website: C++奋斗乐园|C++学习|算法学习|ACM/ICPC学习 Website Link: http://www.cpply.com/
My BBS: C++奋斗乐园|C++论坛|算法论坛|ACM/ICPC论坛 BBS Link:http://www.cppleyuan.com/
My Blog:www.wutianqi.com 豆瓣小组:http://www.douban.com/group/cppleyuan/ QQ:17611904 QQ群:C++奋斗乐园①群:19333724(满) ②群:23840480 (满) ③群:17314377 ④群:23829384 *****************************************/
/****************************************
ID: 百练 OJ 2974 487 3279
题目地址: http://poj.pku.edu.cn/problem/2974/
My Name: Tanky_Woo
My Website: C++奋斗乐园|C++学习|算法学习|ACM/ICPC学习
Website Link: http://www.cpply.com/
My BBS: C++奋斗乐园|C++论坛|算法论坛|ACM/ICPC论坛
BBS Link:http://www.cppleyuan.com/
My Blog:www.wutianqi.com
豆瓣小组:http://www.douban.com/group/cppleyuan/
QQ:17611904
QQ群:C++奋斗乐园①群:19333724(满) ②群:23840480 (满)
③群:17314377 ④群:23829384
*****************************************/
#include
using namespace std;
char map[] = "22233344455566677778889999";
char str[80], telNumbers[100000][9];
int Mycompare(const void *e1, const void *e2)
{
return (strcmp((char*)e1, (char *)e2));
}
void standardizeTel(int n){
int j, k; //j代表str的第j个元素, k代表
telNumbers[][]第telNumbers[n][k]元素
j = k = -1;
while(k < 8)
{
j++;
if(str[j] == '-')
continue;
k++;
if(k == 3)
{
telNumbers[n][k] = '-';
k++;
}
if(str[j] >= 'A' && str[j] <= 'Z')
{
telNumbers[n][k] = map[str[j] -
'A'];
continue;
}
telNumbers[n][k] = str[j]; //数字
}
telNumbers[n][k] = 0;
}
int main()
{
int nCases, i, j;
bool noduplicate;
scanf("%d", &nCases;);
for(i = 0; i < nCases; i++)
{
scanf("%s", str);
standardizeTel(i);
}
qsort(telNumbers, nCases, 9, Mycompare);
noduplicate = true;
i = 0;
while(i < nCases)
{
j = i;
i++;
while(i < nCases && strcmp(telNumbers[i],
telNumbers[j]) == 0)
i++;
if(i - j > 1)
{
printf("%s %d\n", telNumbers[j] ,
i - j);
noduplicate = false;
}
}
if(noduplicate)
printf("No duplicates.\n");
}