整数解
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8443 Accepted Submission(s): 2872
例如:
x + y = 9,x * y = 15 ? 找不到这样的整数x和y
1+4=5,1*4=4,所以,加起来等于5,乘起来等于4的二个整数为1和4
7+(-8)=-1,7*(-8)=-56,所以,加起来等于-1,乘起来等于-56的二个整数为7和-8
9 15 5 4 1 -56 0 0
No Yes Yes
typedef struct
{
char name[11];
int sum;
int total;
}credit;
int cmp(const void *a,const void *b)
{
if((*(credit *)a).total !=(*(credit *)b).total)
return (*(credit *)a).total-(*(credit *)b).total;
else if((*(credit *)b).sum!=(*(credit *)a).sum)
return (*(credit *)b).sum-(*(credit *)a).sum;
else return strcmp((*(credit *)b).name,(*(credit *)a).name);
}
int main()
{
int res,t,f;
int i,n,m,j;
char style[11];
credit c[MAX]={0};
//freopen("in.txt","r",stdin);
scanf("%d%d",&n,&m);
for(i=0;scanf("%s",c[i].name)!=EOF;i++)
{
for(j=0;j<n;j++)
{
scanf("%s",style);
res=sscanf(style,"%d(%d)",&t,&f);
if(res==2)
{
c[i].total++;
c[i].sum+=t+f*m;
}
else if(res==1 &&t>0)
{
c[i].total++;
c[i].sum+=t;
}
}
}
qsort(c,i,sizeof(credit),cmp);
for(i--;i>=0;i--)
printf("%-10s %2d %4d/n",c[i].name,c[i].total,c[i].sum);
return 0;
}