@TO郑州大学新OJ——p1036 zzy的游戏

题目

描述

zzy正在直播玩一个很冷门的游戏。游戏的规则稍微有些复杂。开场时,双方从n名角色中轮流选取角色,然后双方各自选择两名角色出战。任意两名角色之间都有一个“默契值”来表示两名角色一起出战的威力,默契值高的一组将会击败默契值低的一组。zzy为了他的十万点赞正不懈努力。

然而,意想不到的是,这次zzy的对手是zzy的黑粉ghq,他想让zzy在直播中出丑!现在zzy已经占据了先手,换句话说,选择角色的顺序为zzy,ghq,zzy,ghq,…ghq非常不想让zzy胜利,他要尽可能的破坏zzy能够形成的最强角色,所以每次zzy选择完角色后,ghq都会找到剩余角色里能够和zzy手中角色产生最大默契值的角色,并选走他。换句话说,ghq将在zzy已经选择的角色中与剩余角色一一匹配,并选走默契值最大的一组中的剩余角色。

例如,已经有6名角色,他们的默契值关系如下(即样例输入):
!

上面的表格中每一个格代表两名角色之间的默契值。

例如,在第一轮选择中,zzy选择了5号角色,剩余的角色有1,2,3,4,6,其中4号角色和5号角色的默契值最高,ghq选择了5号角色。

在第二轮选择中,zzy选择了3号角色,剩余的角色有1,2,6,其中1号与1号产生的默契值比其他的都大,ghq选择了1号角色。

zzy已经知道了ghq的邪恶计划,并且已经拿到了n名角色的默契值关系。在这样的紧要关头,zzy能否击败ghq,保住自己的十万点赞的目标呢?

输入

去共n行,第一行给出一个n,n为偶数

第2行到第 N行里,第i+1行有n-i个非负整数,每两个数之间用一个空格隔开,表示i号角色和i+1,i+2,…,N号角色之间的默契值(0≤默契值≤1,000,000,000)。

输出

如果zzy可以击败ghq,第一行输出1,第二行输出zzy能选择的最大的默契值。否则,只输出一个-1.

输入样例 1

5 28 16 29 27
23 3 20 1
8 32 26
33 11
12

输出样例 1

32

提示`

n<=500且一定为偶数

样例输入即为题面中的表格。

题目很长,需要一点点的耐心与思维。`

思路

从题目知道就是选取分数最大的组合,但不能连续选取,容易知道,先取牌者必胜,当zzy选取第一张最优牌A,qhq要选取与A最大组合分数的牌B(设此时为状态1),接着下来,zzy要选取牌C,牌C分两种情况,第一种,牌C与A组合能形成当前分数最大值,此时答案就是(A,C);第二种,牌C不能与A形成最大分数,此时情况转化为状态1,可知每一张牌与其他牌形成的最大值必然取不到,只能取到每一张牌与其他牌形成的第二大的值,遍历一遍,求出所有牌与其他牌形成的第二大值的最大值即为答案。

附上代码

#include<bits/stdc++.h>
using namespace std;
int b[502][502];
int n,x,y,ans;
int main(){cin>>n;for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)cin>>y,b[i][j]=y,b[j][i]=y;for(int i=1;i<=n;i++){x=0,y=0;for(int j=1;j<=n;j++){if(b[i][j]>x)y=x,x=b[i][j];else if(b[i][j]>y)y=b[i][j];}ans=max(ans,y);}cout<<'1'<<'\n'<<ans;
}

点个赞吧

郑州大学新OJ——p1036 zzy的游戏相关推荐

  1. 威佐夫博弈:百练OJ:1067:取石子游戏

    威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...

  2. 小米OJ 54(数独游戏)

    数独游戏序号:#54 难度:一般 时间限制:1000ms 内存限制:10M 描述 数独盘面是个九宫,每一宫又分为九个小格.在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入 ...

  3. 【ECNU OJ 3373】 骑士游戏 最短路径+动态规划

    Problem 3373 骑士游戏 长期的宅男生活中,JYY 又挖掘出了一款 RPG 游戏.在这个游戏中 JYY 会扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. 在这个游戏中,JYY 一共 ...

  4. FAFU OJ 卡牌游戏

    卡牌游戏 Time Limit: 1000MS Memory Limit: 65536KB Total Submissions: 101 Accepted: 67 Share

  5. 51nod oj 1072 威佐夫游戏 1185 威佐夫游戏 V2【威佐夫博奕】

    题目链接:1072 1072 威佐夫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0  难度:基础题  收藏  关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意 ...

  6. 南邮 OJ 1404 取数游戏

    取数游戏 时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 90            测试通过 : 23 比 ...

  7. 2020年2月12日 林大OJ习题 队列

    2020年2月12日 队列 林大OJ 1632 周末舞会-队列 队列的基本题目,重在理解队列的原理. #include <bits/stdc++.h>using namespace std ...

  8. 【华为OJ】【097-24点游戏算法】

    [华为OJ][算法总篇章] [华为OJ][097-24点游戏算法] [工程下载] 题目描述 给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字.[数字允许重复,测 ...

  9. 【Comet OJ - Contest #5 - C】迫真小游戏(优先队列,贪心构造,树,字典序)

    题干: H君喜欢在阳台晒太阳,闲暇之余他会玩一些塔防小游戏. H君玩的小游戏可以抽象成一棵 nn 个节点的有根树,树以 11 为根,每个点的深度定义为其到根的简单路径上的点数(根的深度为 11). H ...

最新文章

  1. java uml 为什么_Java开发为什么需要UML
  2. Java教程 实战学习Struts实例
  3. mysql中decimal不能为空吗_程序员,知道Mysql中事务ACID的原理吗?
  4. 闲谈StringBuilder
  5. 【机器学习】数据挖掘算法——关联规则(一),相关概念,评价指标
  6. 日志框架NLog之将日志发送到邮件
  7. mysql explain insert_简述Mysql Explain 命令
  8. python抓取股票数据_Python自动获取当日所有股票数据
  9. 江苏一女子给程序员老公买假发,看到其后脑勺后,网友们哭笑不得
  10. P3317 [SDOI2014]重建
  11. 谷歌免费域名邮箱申请全解
  12. 知识图谱-构建:知识图谱构建流程【本体构建、知识抽取(实体抽取、 关系抽取、属性抽取)、知识表示、知识融合、知识存储】
  13. virtualbox vm 虚拟机 迁移
  14. wps word新建页背景由淡蓝色变回白色
  15. react项目运行出现进度卡住,Would you like to run the app on another port instead?
  16. ArcGIS10.2版本正确的ArcGIS_Editor_OSM下载与安装
  17. linux或者UC/OS
  18. 如何在Mac上重置Apple ID密码?
  19. 计算机丢失quartz.dll什么意思,计算机中丢失quartz.dll解决方法
  20. CSS3—雪碧图和滑动门

热门文章

  1. 电脑一开机内存(共8G)就用了70%以上,任务管理器里面查看没有占用内存很高的进程,原来是驱动问题
  2. 计算机课继续教育简报,继续教育学习简报.doc
  3. latex 作者名上的邮件符号_Latex 如何给通讯作者加*号
  4. PCIe MSI中断
  5. 创维光伏:坚持科技创新,构建中国式现代化光伏生态体系
  6. 《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型
  7. 己烯共聚物线性低密度聚乙烯(C6-LLDPE)行业调研报告 - 市场现状分析与发展前景预测
  8. 图嵌入(拉普拉斯特征映射Laplacian Eigenmaps)
  9. 大一学生《基于HTML+CSS制作体育篮球网页》期末网页制作
  10. 论文阅读笔记:Link Prediction Based on Graph Neural Networks