题解
Step—1 输入(重点)
int a[1001][1001];
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
cin>>a[i][j];
a[j][i]=a[i][j];
}
- 注意:
a[j][i]=a[i][j]表示两两武将的默契度一样;
Step—2 判断
- 定义
ans值:int ans;; - 每一次扫一层,每一层都
sort一遍:
for(int i=1;i<=n;i++)
{
sort(a[i]+1,a[i]+1+n);
ans=max(ans,a[i][n-1]);
}
- 其实,
ans=max(ans,a[i][n-1])也可写作ans=ans>a[i][n-1]?ans:a[i][n-1]
注意:无论怎样,小涵都能取到大于机器人的配合,所以,一定输出1;
Code:
#include<bits/stdc++.h>
using namespace std;
int n;
int a[1001][1001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
cin>>a[i][j];
a[j][i]=a[i][j];
}
int ans;
for(int i=1;i<=n;i++)
{
sort(a[i]+1,a[i]+1+n);
ans=max(ans,a[i][n-1]);
}
cout<<1<<endl<<ans;
return 0;
}