杭电ACM Time Limit Exceeded
答案:3 悬赏:80 手机版
解决时间 2021-03-07 20:49
- 提问者网友:斑駁影
- 2021-03-07 02:34
#include
#include
void main()
{
int n,i,j,t,m[1001],max;
char c[1001][16];
scanf("%d",&n);
while(n)
{
max=0;
for(i=0;i {
m[i]=0;
scanf("%s",c[i]);
}
for(i=0;i {
for(t=0;t {
if(strcmp(c[i],c[t])==0)
m[i]++;
}
if(m[i]>m[max])
max=i;
}
printf("%s\n",c[max]);
scanf("%d",&n);
}
}
杭电ACM 1004 怎么老超时???
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-03-07 02:46
#include
#include
int main()
{
int N,i,j;
char b[100][16];
int num[100];
int index,max,max_index;
char temp[16];
while(scanf("%d",&N)!=EOF)
{
getchar();
if(!N) break;
memset(num,0,sizeof(num));
index = 0;
max = 0;
for(i=0;i
{
gets(temp);
for(j=0;j
{
if(strcmp(temp,b[j])==0)
{
num[j]++;
break;
}
}
if(j==index)
{
strcpy(b[index],temp);
num[index]=1;
++index;
}
}
for(i=0;i
{
if(num[i]>max)
{
max = num[i];
max_index = i;
}
}
printf("%s\n",b[max_index]);
}
return 0;
}
一楼给了个C++的.我就给个C的吧.C里面不能用STL,如果你用C就可以无视一楼的代码了.
1488797 2009-07-16 04:14:14 Accepted 1004 0MS 224K 671 B C porker2008
全部回答
- 1楼网友:酒安江南
- 2021-03-07 05:05
你的算法复杂度O(N^2)的,我的O(N)的。。。
#include
#include
#include