zoj 1899 有人会做吗
我的代码如下,通不过啊。。。
http://acm.zju.edu.cn/show_problem.php?pid=1899
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp(const void*p1, const void*p2)
{
return strcmp((char*)p1,(char*)p2);
}
main()
{
char t[31];
bool run=true;
int time=0;
char name[1000][31];
char c;
int mark=0;
long n=0,i,num,j;
while(run) {
n=0;
while(1) {
while ((c=getchar())!='\n')
{
t[mark++]=c;
}
t[mark]='\0';
if(mark==0)
{
time++;
if (time==2)
{
run=false;
}
break;
}
time=0;
mark=0;
strcpy(name[n++],t);
}
qsort(name,n,sizeof(name[0]),cmp);
for(i=0;i<n;)
{
num=1;
strcpy(t,name[i]);
j=i+1;
while (1)
{
if(!strcmp(t,name[j]))
{
num++;
j++;
} else {
i=j;
break;
}
}
if(run)
printf("%s %.4lf\n",t, num*100.0/n);
}
}
}