📄 3220756_ce.cpp
字号:
#include<iostream.h>
#include <algorithm>
#include <memory.h>
using namespace std;
int value[26],customer[100],result[100000][8];
int i,j,k,l,temp,t,cou,valuesum=0,typesum=0,many=0,max=0;
int *p,*q;
void main()
{value[0]=0;
for(;;)
{
if (cin.eof()) break;
memset(result,0,sizeof(result));
memset(customer,0,sizeof(customer));
t=0;
cou=0;
temp=1;
i=1;
while(temp)
{
cin>>temp;
if(temp==value[i-1])
{
cou++;
if(cou<=4) value[i]=temp,t++,i++;
}
else cou=0,value[i]=temp,t++,i++;
}
t--;
cin>>temp;
for(i=0;temp;i++)
{
customer[i]=temp;cin>>temp;
}
p=value+1,q=value+t;
sort(p,q);
for(i=0;i<=t;i++)
for(j=i;j<=t;j++)
for(k=j;k<=t;k++)
for(l=k;l<=t;l++)
{typesum=0;
valuesum=value[i]+value[j]+value[k]+value[l];
if(l!=0) typesum++;
if(k!=0&&k!=l)typesum++;
if(j!=0&&j!=k)typesum++;
if(i!=0&&i!=j)typesum++;
many=(i!=0)+(j!=0)+(k!=0)+(l!=0);
max=value[l];
if(typesum>result[valuesum][0]) result[valuesum][0]=typesum,result[valuesum][1]=many,result[valuesum][2]=max,result[valuesum][3]=0,result[valuesum][4]=value[i],result[valuesum][5]=value[j],result[valuesum][6]=value[k],result[valuesum][7]=value[l];
else
if(typesum==result[valuesum][0])
{
if(many<result[valuesum][1]) result[valuesum][0]=typesum,result[valuesum][1]=many,result[valuesum][2]=max,result[valuesum][3]=0,result[valuesum][4]=value[i],result[valuesum][5]=value[j],result[valuesum][6]=value[k],result[valuesum][7]=value[l];
else
if(many==result[valuesum][1])
{
if(max>result[valuesum][2]) result[valuesum][0]=typesum,result[valuesum][1]=many,result[valuesum][2]=max,result[valuesum][3]=0,result[valuesum][4]=value[i],result[valuesum][5]=value[j],result[valuesum][6]=value[k],result[valuesum][7]=value[l];
else
if(max=result[valuesum][2]) result[valuesum][3]=1;
}
}
}
for(i=0;customer[i];i++)
{if(result[customer[i]][0]==0) cout<<customer[i]<<" ---- none";
else
if (result[customer[i]][3]!=1)
{
cout<<customer[i]<<" ("<<result[customer[i]][0]<<"): ";
if(result[customer[i]][4]!=0) cout<<result[customer[i]][4]<<" ";
if(result[customer[i]][5]!=0) cout<<result[customer[i]][5]<<" ";
if(result[customer[i]][6]!=0) cout<<result[customer[i]][6]<<" ";
cout<<result[customer[i]][7];
}
else cout<<customer[i]<<" ("<<result[customer[i]][0]<<"): tie";
cout<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -