题解
2023-07-23 14:05:12
发布于:浙江
6阅读
0回复
0点赞
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int n,m,v[505];
struct node{
int x,y,zhi;
bool operator<(const node b)const{
return zhi>b.zhi;
}//这里是重载定义结构体的>运算符,不然使用sort命令会报错
} a[250000];
int main(){
int i,j,k=1;
cin>>n;
for(i=1; i<=n-1; i++){
for(j=i+1; j<=n; j++){
cin>>a[k].zhi;
a[k].x=i;
a[k].y=j;
k++;
}
}
m=n*(n-1)/2;
sort(a+1,a+m+1); //按从大到小排序
for(i=1;i<=m;i++){
if(v[a[i].x]==0&&v[a[i].y]==0){
v[a[i].x]=v[a[i].y]=1;
}
else{ //只要同行或同列有两个数就是解
cout<<1<<endl;
cout<<a[i].zhi;
return 0;
}
}
cout<<0;
return 0;
}
//代码来自眼见老师
//https://www.acgo.cn/problemset/20/explanation
这里空空如也
有帮助,赞一个