1 条题解

  • 0
    @ 2025-5-27 20:48:46

    这是一题典型的博弈论题目

    #include<bits/stdc++.h>
    using namespace std;
    
    //放到 main 外面去定义可以得到的好处:数组 mo 的中所有元素都会被默认赋值为 0
    int mo[501][501],n;
    int main()
    {
        cin>>n;
        // 构造二维数组要用嵌套的 fo r循环,i 写入到数组第一维,j 写到数组第二维
        for(int i=1;i<=n;i++) {
            for(int j=i+1;j<=n;j++) {
                cin>>mo[i][j];
                //(i,j) 的对称位置是(j,i)
                mo[j][i]=mo[i][j];
            }
        }
        //ans 保存二维数组每一行次大值中的最大值
        int ans = 0;
        //对数组的第二维进行排序
        for(int i=1;i<=n;i++)
        {
            //对 mo 的每一行都排序,sort 默认是从小到大的
            sort(mo[i],mo[i]+n+1);
            //排序后每一行第二大的值是 mo[i][n-1]
            if(mo[i][n-1] > ans) 
                ans = mo[i][n-1];
        }
    
        cout<<1<<endl<<ans;
        return 0;
    }
    
    • 1

    信息

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