ZOJ 1159 487-3279
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
using namespace std;
char get(char c)
{
switch(c)
{
case 'A':
case 'B':
case 'C':
return '2';
case 'D':
case 'E':
case 'F':
return '3';
case 'G':
case 'H':
case 'I':
return '4';
case 'J':
case 'K':
case 'L':
return '5';
case 'M':
case 'N':
case 'O':
return '6';
case 'P':
case 'R':
case 'S':
return '7';
case 'T':
case 'U':
case 'V':
return '8';
case 'W':
case 'X':
case 'Y':
return '9';
}
return ' ';
}
struct In
{
char num[10];
}s[100010];
int cmp ( const void *a , const void *b )
{
return strcmp( (*(In *)a).num , (*(In *)b).num );
}
int main()
{
int n,m;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
char tmp[100000];
for(int i=0;i<m;i++)
{
scanf("%s",tmp);
int len=strlen(tmp);
int index=0;
for(int j=0;j<len;j++)
{
if('0'<=tmp[j]&&tmp[j]<='9')
{
s[i].num[index++]=tmp[j];
}
else if('A'<=tmp[j]&&tmp[j]<='Z')
{
s[i].num[index++]=get(tmp[j]);
}
}
}
qsort(s,m,sizeof(s[0]),cmp);
bool flag=true;
for(int i=0;i<m;i++)
{
int con=1;
for(int j=i+1;j<m;j++)
{
if(strcmp(s[i].num,s[j].num)==0)
{
con++;
i=j;
}
else
{
break;
}
}
if(con==1)
continue;
printf("%c%c%c-%c%c%c%c %d
",s[i].num[0],s[i].num[1],s[i].num[2],s[i].num[3],s[i].num[4],s[i].num[5],s[i].num[6],con);
flag=false;
}
if(flag)
printf("No duplicates.
");
if(n!=0)
printf("
");
}
return 0 ;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.