- 三国游戏
- 2014-12-21 19:00:54 @
#include<iostream>
#include<mem.h>
using namespace std;
long moqi[520][520]={{0},{0}};
int wujiang,wujiang1,huihe=1;
long maxe[520]={0},max2=0,max1=0,han[520]={0},cpu[520]={0};
bool qug[520]={false};
int map()
{
int max=0;
for(int a=1;a<=wujiang;a++)
for(int b=1;b<=wujiang;b++)
if(moqi[a][b]>max)
{
max=moqi[a][b];
max1=a;
max2=b;
}
}
int findmax()
{
int max=0,now=0;
for(int a=1;a<=huihe;a++)
{
for(int b=1;b<=wujiang;b++)
if(moqi[han[a]][b]>max&&qug[b]==false)
{
max=moqi[han[a]][b];
now=b;
}
}
return now;
}
int bijiao()
{
huihe++;
while(wujiang1>0)
{
int w=findmax();
han[huihe]=w;
qug[w]=true;
wujiang1--;
int x=findmax();
cpu[huihe]=x;
qug[x]=true;
wujiang1--;
huihe++;
}
}
int maxall()
{
int max=0;
for(int a=1;a<huihe;a++)
for(int b=1;b<huihe;b++)
if(moqi[han[a]][han[b]]>max&&a!=b)
max=moqi[han[a]][han[b]];
return max;
}
int main()
{
int ans1,ans2;
long fu;
cin>>wujiang;
wujiang1=wujiang;
for(int a=wujiang-1;a>=1;a--)
for(int b=1;b<=a;b++)
{
cin>>fu;
moqi[wujiang-a][b+wujiang-a]=fu;
moqi[b+wujiang-a][wujiang-a]=fu;
}
map();
han[huihe]=max1;
cpu[huihe]=max2;
qug[max1]=true;
qug[max2]=true;
wujiang1-=2;
bijiao();
ans1=maxall();
huihe=1;
memset(han,0,sizeof(han));
memset(cpu,0,sizeof(cpu));
memset(qug,false,sizeof(qug));
wujiang1=wujiang;
han[huihe]=max2;
cpu[huihe]=max1;
qug[max1]=true;
qug[max2]=true;
wujiang1-=2;
bijiao();
ans2=maxall();
cout<<'1'<<endl;
if(ans1>ans2)
cout<<ans1<<endl;
else
cout<<ans2<<endl;
return 0;
}
写法很恶心。。模拟是模拟出来了。。但是只AC了5个点。。
神犇orzorzorzorzorz
0 条评论
信息
- ID
- 1809
- 难度
- 3
- 分类
- (无)
- 标签
- 递交数
- 839
- 已通过
- 428
- 通过率
- 51%
- 被复制
- 16
- 上传者