洛谷1199 简单博弈 贪心
2016-11-08 11:20
260 查看
洛谷 1199 博弈论 贪心
看起来挺吓人的,,,然而实际上并没有太大的难度。。开始想这道题的时候受了之前博弈问题的影响,一直在考虑计算机也能够采用必胜策略,然后就有些混乱,后来仔细考虑,根据计算机的选择策略,一定不会让玩家取到最大值,那么玩家一定可以取到每个武将的次大值,那么对于枚举每个武将,取出他们的次大值,取max即为答案。
;
#include <cstdio> #include <cstring> #include <algorithm> const int maxn = 500 + 10; int n; int first_max; int second_max; int x; int ans = 0; int a[maxn][maxn]; int main () { scanf("%d", &n); for (int i = 1; i < n; i++) { for (int j = 1; j <= n - i; j++) { scanf("%d", &a[i][i + j]); a[i + j][i] = a[i][i + j]; } } //for (int i = 1; i <= n; i++) { // for (int j = 1; j <= n; j++) { // printf("%d ", a[i][j]); // } // printf("\n"); //} for (int i = 1; i <= n; i++) { first_max = 0; second_max = 0; for (int j = 1; j <= n; j++) { if (i == j) continue; if (a[i][j] > first_max) { second_max = first_max; first_max = a[i][j]; } else if (a[i][j] <= first_max && a[i][j] > second_max) { second_max = a[i][j]; } } ans = std :: max(ans, second_max); } printf("1\n"); printf("%d", ans); return 0; }
相关文章推荐
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- 洛谷1199 简单博弈 贪心
- BZOJ 1034 泡泡堂BNB 贪心+简单博弈
- BZOJ 1034 泡泡堂BNB 贪心+简单博弈
- 三国游戏_洛谷1199_博弈
- 【线段上】简单贪心总结……未完
- 一道简单的博弈题~