1 条题解

  • 0
    @ 2026-8-17 0:04:12

    这道题贪心就行了。 有人可能会说,你怎么知道小涵必胜呢?

    其实很简单,按照计算机的思路,所有最大组合都会被拆散在这种情况下,场上存在的只剩所有的第二大,只要进行排序,让小涵拿到了所有的第二大中的最大值,肯定能打败计算机,故可大胆的直接输出。

    既然小涵一定能赢,所有我们只要用贪心,不断找第二大中的最大值。

    上代码。

    #include<bits/stdc++.h>
    using namespace std;
    const int N=510;
    int a[N][N],n,ans=-1;
    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];
    		}
    	}
    	for(int i=1;i<=n;i++){
    		sort(a[i]+1,a[i]+n+1);//排序
    		ans=max(ans,a[i][n-1]);//选出第二中最大的那个
    	}
    	cout<<1<<endl<<ans;//输出1和ans
    	return 0;
    }
    

    记得点个小小的赞。

    • 1

    信息

    ID
    662
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    6
    已通过
    5
    上传者