洛谷P1199三国游戏

题目

博弈论+贪心。

由于我们是先手,所以我们其实是必赢的,而且其实选完前两次,就已经结束了,因为接下来选的每一次其实都没有我们前几次选的好。而且又因为机器人会把我们想选的最好的拿走,那我们就只能拿走次好的了。然后枚举排序就可以得出答案。

\(Code\)

#include <bits/stdc++.h>
#define int long long
using namespace std;
int data[1010][1010];
queue <int> q;
int ans, n;
inline void solve()
{
    for (int i = 1; i <= n; i++)
        ans = max(ans, data[i][n - 1]);
}
signed main()
{
    scanf("%lld",&n);
    for (int i = 1; i < n; i++)
        for (int j = i + 1; j <= n; j++)    
            scanf("%lld", &data[i][j]), data[j][i] = data[i][j];
    for (int i = 1; i <= n; i++)
        sort(data[i] + 1, data[i] + 1 + n);
    /*
    for (int i = 1; i <= n; i++, puts(""))
        for (int j = 1; j <= n; j++)
            printf("%d ", data[i][j]);*/
    solve();
        printf("1\n%lld", ans);
}

猜你喜欢

转载自www.cnblogs.com/liuwenyao/p/10923819.html