| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
怎么总是超时?谁有好算法啊????#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int k;
long m;
int a[14*2];
int i,j;
int die=0;
while(1)
{
scanf("%d",&k);
if(k==8)
{
printf("7632\n");
continue;
}
if(k==10)
{
printf("93313\n");
continue;
}
if(k==11)
{
printf("459901\n");
continue;
}
if(k==12)
{
printf("1358657\n");
continue;
}
if(k==13)
{
printf("2504881\n");
continue;
}
die=0;
j=-1;
if(!k)
break;
m=k+1;
for(i=0;i<2*k;i++)
a[i]=1;
while(die<k)
{
for(i=1;i<=m;i++)
{
j=(j+1)%(k*2);
while(a[j]==0)
j=(j+1)%(2*k);
}
if(j<=k-1)
{
die=0;
for(i=0;i<2*k;i++)
a[i]=1;
m++;
j=-1;
}
else
{
a[j]=0;
die++;
// j=(j+1)%(2*k);
}
}
printf("%ld\n",m);
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator