题目意思:

国际象棋锦标赛即将举行,其中nn国际象棋选手将参加。每个参与者将与所有其他参与者进行一场比赛。每场比赛的结束要么是一个玩家的胜利,另一个玩家的失败,要么是两个玩家的平局。

每个玩家对比赛都有自己的期望,他们可以是以下两种类型之一:

  1. 玩家不想输掉任何比赛(即以零损失结束锦标赛));
  2. 玩家想要赢得至少一场比赛。

您必须确定所有比赛是否存在结果,以便所有玩家都满足他们的期望。如果有几种可能的结果,请打印其中任何一种。如果没有,请报告这是不可能的。

输入格式

第一行包含单个整数t(1<t<200)表示测试用例的数量。

每个测试用例的第一行包含一个整数n(2 <=n<=50) 表示国际象棋选手的数量。

第二行包含字符串s (长度为n,只包含‘1’和‘2’两个字符),然后‘1’玩家对第一种类型的期望,否则对第二种类型的期望。

输出格式

对于每个测试用例,请按以下格式打印答案:

在第一行中,如果不可能满足所有玩家的期望,请打印NO。

否则,请打印YES和大小n*n的矩阵。

矩阵元素分别为+,-,=,X:

  • +,该选手胜利;
  • -,该选手失败;
  • =,游戏平局;
  • X,代表自己所在位置(i=j).

样例输入

3
3
111
2
21
4
2122

样例输出

YES
X==
=X=
==X
NO
YES
X--+
+X++
+-X-
--+X

分析

根据题意可知,1代表不输,2代表至少赢一局,那么这样的话,2种类的选手不可能赢1,1和1之间平局或者胜利对于整体无影响,所以我们就可以假设,1和任何人都是平局(1种类不会输)。

所以就剩下2种类需要考虑,2不能赢1,所以2只有赢2,那么至少需要三个2类型以上才能够达到最少获胜标准,当2的数量大于三个时,,那么我们规定,每个2类型的选手都能将其前面的打败,并且输给后面的,这样之后,只需要再将首尾的两个2类型需要拿出来判断即可。

#include<bits/stdc++.h>
#include<string.h>
using namespace std;
int main()
{int n, t, i, j;cin>>t;char num[56];for(i=0;i<t;i++){cin>>n;getchar();gets(num);int a, k;a=0;for(j=0;j<n;j++){if(num[j]=='2')a++;}if(a==1||a==2)cout<<"NO"<<endl;else {int p, q;cout<<"YES"<<endl; for(j=0;j<n;j++){if(num[j]=='2'){p=j;break;}}for(j=n-1;j>=0;j--){if(num[j]=='2'){q=j;break;}}for(j=0;j<n;j++){if(num[j]=='1'){for(k=0;k<n;k++){if(k==j)cout<<"X";else cout<<"=";}cout<<endl;}else if(j==p){for(k=0;k<n;k++){if(k==j)cout<<"X";else if(num[k]=='1')cout<<"=";else if(k==q)cout<<'-';else cout<<"+";    }cout<<endl;      }else if(j==q){for(k=0;k<n;k++){if(k==j)cout<<"X";else if(num[k]=='1')cout<<"=";else if(k==p)cout<<'+';else cout<<"-";    }cout<<endl;  }else{for(k=0;k<n;k++){if(k==j)cout<<"X";else if(num[k]=='1')cout<<"=";else if(k>j)cout<<'+';else cout<<"-";   }cout<<endl;  }   } }}return 0;
}

贪心——国际象棋锦标赛相关推荐

  1. 世界上第一台计算机国际象棋大师是如何诞生的?

    作者 | Allison Marsh 译者 | ScottJiang,责编 | 沭七 出品 | CSDN(ID:CSDNnews) 国际象棋是一个复杂的游戏.这是两个对手之间的策略性游戏,但是没有任何 ...

  2. android 象棋开源_7种面向国际象棋玩家的开源Android应用

    android 象棋开源 象棋游戏已经挑战和娱乐了多个世纪的玩家. 从中世纪的皇室法院到现代的课后国际象棋程序,该游戏具有广泛的吸引力,并且经受了时间的考验. 国际象棋容易学习,但很难掌握. 每个玩家 ...

  3. AlphaZero登上《科学》封面:一个算法“通杀”三大棋,完整论文首次发布

    https://blog.csdn.net/cf2SudS8x8F0v/article/details/84901301 来源:量子位 作者:乾明 一璞 栗子 晓查 不仅会下围棋,还自学成才横扫国际象 ...

  4. AlphaZero进化论:从零开始,制霸所有棋类游戏

    2017年末,DeepMind推出了AlphaZero--一套能够从零开始自主学习国际象棋.将棋(类似于日本版的国际象棋)以及围棋的技艺,从而全面超越各项目世界冠军的系统. 对于这一系统带来的初步成果 ...

  5. 再现神人!仅仅只花4天半就解开了史上最难密码,这下整个圈子都炸开了.........

    全世界只有3.14 % 的人关注了 爆炸吧知识 鲁迅先生曾说,记录这东西,就是用来打破的. 前阵子程序员圈子一定热呼的不可开交,咋回事?还不是因为有个程序员妹子捅出了一个大篓子. 事情是这样的,在德国 ...

  6. 26岁的她,成为深圳大学史上最年轻正教授!

    26岁的中国国际象棋队队员.四届世界棋后侯逸凡10日正式受聘成为深圳大学师范学院(教育学部)体育学院教授,她也成为深圳大学历史上最年轻的正教授. 深圳大学师范学院党委书记姚正武在当日的聘任仪式上对侯逸 ...

  7. 他实现了AlphaGo Zero的算法,发现可能还得训练1700年 | 代码

    夏乙 发自 凹非寺 量子位 出品 | 公众号 QbitAI AlphaGo退隐,留下身后一众你追我赶的围棋AI. 比如说前些天在野狐上连斩多名职业选手的新版绝艺"符合预期",又比如 ...

  8. Chess.com:象棋社区网站每月访问量达 2.8 亿,年收入在 5000 万至 1 亿之间

    Chess.com是世界领先的国际象棋社区.它始于 2007 年,目前年收入超过 5000 万美元. 核心功能 Live Chess 花了 5 个多月才发布.到那时,该网站已经拥有近100,000名会 ...

  9. 【历史上的今天】12 月 25 日:第一个网络服务器诞生;黑客社区的创始人出生;牛顿诞生

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 12 月 25 日,在 2002 年的今天,中国造血干细胞捐献者资料库网络系统正式建立运行.目前,该 ...

  10. 十位改变世界的人工智能领域大师

    ​​1948年,"计算机科学之父"的Allen Turing以及"信息科学之父"的Claude Shannon自主研发了今天国际象棋程序仍然使用的基本算法.诺贝 ...

最新文章

  1. 不得不提的团队协作工具
  2. LDAP 中 CN, OU, DC 的含义(ldap学习一)
  3. 四种常见的激活函数画图及简单改造
  4. 大规模神经网络最新文献综述:训练高效DNN、节省内存使用、优化器设计
  5. android 隐藏手机底部虚拟按键
  6. [SCOI2012]滑雪 (最小生成树 Kruskal)
  7. stl标准模板库_C ++标准模板库(STL)中的array :: fill()
  8. 5886. 如果相邻两个颜色均相同则删除当前颜色
  9. windows server 2008R2 部署WSUS 服务
  10. 除夕年味年夜饭海报PSD素材,盛了一年的思念
  11. html里定义函数调用函数调用,函数调用的三种方式是什么?
  12. ICPC程序设计题解书籍系列之六:吴永辉:《算法设计编程实验》
  13. 一周最新示例代码回顾 (4/23–4/29)
  14. web 页面间传值 js 封装方法
  15. 流程图伪代码计算机语言,论文中伪代码怎么写
  16. 实现元素水平垂直居中的4种方法
  17. 2021年中国移动互联网行业发展现状及行业发展趋势分析[图]
  18. 深度学习:view size is not compatible with input tensor‘s size and stride (at least one dimension spans a
  19. 【ChatGPT军事专家】岸防炮的射速是多少,如何攻破岸防炮
  20. Nature:Deep Learning 深度学习综述

热门文章

  1. 计算机基础中的word2010,计算机基础word2010上机操作 - 图文
  2. 伴随矩阵和逆矩阵的关系证明
  3. 22种免费网络推广方式有哪些?
  4. [51nod1457]小K vs. 竹子
  5. 数学分析 函数项级数(第13章)
  6. 美通社企业新闻汇总 | 2019.1.16 | 微软与药店巨头沃博联达成战略合作,科勒中国第13家工厂落成...
  7. 第七章 DirectX 数学向量,碰撞检测和粒子系统(上)
  8. Mac怎么方便看节假日安排,添加中国法定节假日安排
  9. Win7下安装Ubuntu(双硬盘)的简要步骤
  10. 前端新技术(离线缓存、CDN内容分发网络)