/*
* =====================================================================================
*
* Filename: readphonenumber.c
*
* Description:
*
* Version: 1.0
* Created: 2014年02月16日 10时16分13秒
* Revision: none
* Compiler: gcc
*
* Author: Wenxian Ni (Hello World~), niwenxianq@qq.com
* Organization: AMS/ICT
*
* =====================================================================================
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void PrintNumber(char n, int m)
{
int i;
switch(m)
{
case 1:
break;
case 2:
printf("double ");
break;
case 3:
printf("triple ");
break;
case 4:
printf("quadruple ");
break;
case 5:
printf("quintuple ");
break;
case 6:
printf("sextuple ");
break;
case 7:
printf("septuple ");
break;
case 8:
printf("octuple ");
break;
case 9:
printf("nonuple ");
break;
case 10:
printf("decuple ");
break;
default:
break;
}
switch(n)
{
case '0':
printf("zero");
break;
case '1':
printf("one");
break;
case '2':
printf("two");
break;
case '3':
printf("three");
break;
case '4':
printf("four");
break;
case '5':
printf("five");
break;
case '6':
printf("six");
break;
case '7':
printf("seven");
break;
case '8':
printf("eight");
break;
case '9':
printf("nine");
break;
defalut:
break;
}
}
void ReadNumber(char *q, int n)
{
if(n==1)
{
PrintNumber(*q, 1);
return ;
}
char *p = q+1;
int i = 1;
int m = 1;
for(i=2;i<=n;p++,i++)
{
if(*p==*(p-1))
{
m++;
}
else
{
PrintNumber(*(p-1), m);
printf(" ");
m = 1;
}
}
PrintNumber(*(p-1), m);
}
int main()
{
int T;
int ncase;
int lens;
char numberPhone[200];
char splitNumber[400];
char *buf, *nub, *spl;
freopen("in.in","r",stdin);
freopen("out.in","w",stdout);
while(~scanf("%d",&T))
{
ncase=1;
while(ncase!=T+1)
{
scanf("%s",numberPhone);
scanf("%s",splitNumber);
printf("Case #%d: ",ncase);
nub = numberPhone;
spl = splitNumber;
buf = strstr(spl,"-");
lens = 0;
while(buf!=NULL)
{
buf[0]='\0';
nub += lens;
lens = atoi(spl);
ReadNumber(nub,lens);
spl = buf + 1;
buf = strstr(spl,"-");
printf(" ");
}
nub += lens;
lens = atoi(spl);
ReadNumber(nub,lens);
printf("\n");
ncase++;
}
}
return 0;
}
小数据可过,大数据还要改正下
http://code.google.com/codejam/contest/2924486/dashboard