/*
* 解题思路:
* 简单的字符串字母排序问题
*/
#include <stdio.h> #include <string.h> #include <stdlib.h> #define A 2010 #define B 100 char s[ A ][ B ],ss[ B ]; int cmp( const void *_a , const void *_b ) { char* a = (char *)_a; char* b = (char *)_b; return strcmp( a , b ); } int main( ) { int t,i; int len; int total,q = 0; char c; scanf("%d",&t); getchar( ); while( t-- ) { scanf("%s",ss ); while( getchar( ) !=‘\n‘ ); len = strlen( ss ); strcpy( s[ q++ ] , ss ); } qsort( s , q , sizeof( s[0] ) , cmp ); total = 1; for( i= 1;i<=q;i++ ) if( strcmp(s[ i ] , s[ i-1 ] ) == 0 ) total++; else { printf("%s %d\n",s[ i-1 ] , total); total = 1; } return 0; }