[POJ]1002(转)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* Copyright Derek Kisman (ACM ICPC ECNA 1999) */

char map[26] = {'2', '2', '2', '3', '3', '3', '4', '4', '4',
				'5', '5', '5', '6', '6', '6', '7', 0, '7', '7', '8', '8', '8', '9', '9', '9', 0};

char ph[100000][9];
int nph;

char buf[1000];

main() {
	int i, j, k, x, y, z, n;
	char ch;

	memset( ph, 0, sizeof(ph) );
	scanf( " %d", &nph );
	for( i = 0; i < nph; i++ ) {
		scanf( " %s", buf );
		x = 0;
		for( j = 0; buf[j]; j++ ) {
			if( buf[j] == '-' ) continue;
			if( buf[j] >= 'A' && buf[j] <= 'Z' ) buf[j] = map[buf[j]-'A'];
			ph[i][x++] = buf[j];
			if( x == 3 ) ph[i][x++] = '-';
		}
	}
	qsort( ph, nph, 9, strcmp );
	x = 1; z = 0;
	for( i = 1; i < nph; i++ ) {
		if( strcmp( ph[i-1], ph[i] ) ) {
			if( x > 1 ) {
				printf( "%s %d\n", ph[i-1], x );
				z = 1;
			}
			x = 1;
		} else {
			x++;
		}
	}
	if( x > 1 ) {
		printf( "%s %d\n", ph[i-1], x );
		z = 1;
	}
	if( !z ) printf( "No duplicates.\n" );
}

  

posted @ 2013-04-09 16:40  天晴会下雨  阅读(175)  评论(0)    收藏  举报