| ||||||||||
| 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<string.h>
//FILE *fa;
int s[66]={0},a,b,c[66]={0};
int i,t,k,i1,i2,i3,i4,sum;
long o[1000][5][5],l;
int tie[1000][5][5];
ex[1000];
int main()
{
// fa=fopen("l.in","r");
while(scanf("%d",&s[1])!=EOF)
{
a=1;
while(s[a])
{
a++;
scanf("%d",&s[a]);
}
a--;
b=0;
scanf("%d",&c[0]);
while(c[b])
{
b++;
scanf("%d",&c[b]);
}
memset(o,0,sizeof(o));
memset(tie,0,sizeof(tie));
memset(ex,0,sizeof(ex));
for(i=a;i>=0;i--)
for(i1=i;i1>=0;i1--)
for(i2=i1;i2>=0;i2--)
for(i3=i2;i3>=0;i3--)
{
t=0;
sum=s[i]+s[i1]+s[i2]+s[i3];
if(i) t++;if(i2)t++;
if(i1)t++;if(i3)t++;
k=t;
if(i==i1&&i) k--;
if(i1==i2&&i1)k--;
if(i2==i3&&i2)k--;
l=((i*100+i1)*100+i2)*100+i3;
if(o[sum][k][t])
{
if(o[sum][k][t]/1000000==i)
tie[sum][k][t]=1;
else
if(o[sum][k][t]/1000000<i)
{
tie[sum][k][t]=0;
o[sum][k][t]=l;
}
}
else
if(k>0)
{
o[sum][k][t]=l;
ex[sum]=1;
}
}
for(i=0;i<b;i++)
if(!ex[c[i]])
printf("%d ---- none\n",c[i]);
else
for(i1=a;i1>0;i1--)
for(i2=i1;i2<5;i2++)
if(tie[c[i]][i1][i2])
{
printf("%d (%d): tie\n",c[i],i1);
i1=0;i2=5;
}
else
if(o[c[i]][i1][i2])
{
printf("%d (%d):",c[i],i1);
t=o[c[i]][i1][i2];
for(i3=4;i3>0;i3--)
{
k=t%100;
t=t/100;
if(k)
printf(" %d",s[k]);
}
printf("\n");
i1=0;i2=5;
}
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator