Educational Codeforces Round 113 (Rated for Div. 2)
多拿纸画画 ! ! !
题意
给出n个数字(数字为1或2), 1代表这第i个选手没有输过, 2代表这第i个选手至少赢一次
输出为n*n矩阵( i行j列) , +表示 i 赢了j, -表示 i 对j输了, =表示ij平局, X表示i=j
题解
1表示这个选手没输过, 那就全是=或+, 但是我们还要尽量保证别的是1的选手没输过, 即:
是1的选手统统默认是=
其实1有多少没什么关系, 如图,

对于2, 像这种, 可以让3vs4 4vs5 5vs3, 前者赢. 如3赢了2, (3,2)为+, (2,3)为- , 一对
占两格而对于样例22这种, 只有2个空格, 至少有1个2没有赢过, 对于样例2这种, 只有0个
空格更离谱了, 直接输出NO
AC代码
#include <string>
#include <iostream>// 不输 赢一次
#include <vector>
using namespace std; string a, s[60];
bool book[60][60]; int main()
{
int t;
cin >> t;
bool flag = 1,f;
while(t --)
{
vector<int> id;
int n;
cin >> n >> a; for(int i = 0; i < n; i ++)
{
s[i] = string(n, '=');
s[i][i] = 'X';
if(a[i] == '2') id.push_back(i);
} if(id.size() <= 2 && id.size() > 0)
{
puts("NO");
continue;
} for(int i = 0; i < id.size(); i ++)
{
if(i+1 == id.size())
s[id[i]][id[0]] = '+', s[id[0]][id[i]] = '-';
else
s[id[i]][id[i+1]] = '+', s[id[i+1]][id[i]] = '-';
}
puts("YES");
for(int i = 0; i < n;i ++)
cout << s[i] << endl; }
return 0;// 不输 赢一次
}
Educational Codeforces Round 113 (Rated for Div. 2)的更多相关文章
- Educational Codeforces Round 113 (Rated for Div. 2)题解
\(A,B,C\)顺利签到,还是在\(D\)上面卡住了,之后在睡前还是想出来了,看来还是自己的思维不够敏捷和成熟... D. Inconvenient Pairs 简化题意,在一个直角坐标系中,有一些 ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 39 (Rated for Div. 2) G
Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...
随机推荐
- 使用阿里云镜像站NTP服务搭建NTP服务器(基于CentOS 7系统)
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.NTP服务器介绍 网络时间协议(Network Time Protocol,NTP)服务器,也就是日常所说的NTP服务器,用来提供同步时间服务 ...
- [SniperOJ](web)图书管理系统 注入 源码泄露
0x00 题目概况 题目地址:http://www.sniperoj.cn:10000/ 这是一道注入题,存在git源码泄露,使用githack(freebuf有工具介绍)把源码脱下来,进行审计,然后 ...
- C249: 'DATA': SEGMENT TOO LARGE“解决方法 | keilC51设置编译模式:SMALL,COMPACT,LARGE
"Keil Cx51编译器提供三条编译模式控制命令:SMALL,COMPACT,LARGE,它们对变量存储器空间的影响如下. SMALL:所有变量都被定义在8051单片机的片内RAM中,对这 ...
- [八省联考2018]制胡窜 (SAM+大讨论)
正着做着实不太好做,正难则反,考虑反着做. 把i,j看成在切割字符串,我们统计有多少对(i,j)会切割所有与\(s_{l,r}\)相同的串.对于在后缀自动机上表示\(s_{l,r}\)的节点x,x的p ...
- Apache+tomcat实现应用服务器集群
Ngnix/Apache比较 Nginx:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行.其特点是占有内存少,并发能力 ...
- java反射 java动态代理和cglib动态代理的区别
java反射 https://blog.csdn.net/f2764052703/article/details/89311013 java 动态代理 https://blog.csdn ...
- eureka自我保护机制是什么?
当Eureka Server 节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁启动关闭客户端)节点会进入自我保护模式,保护注册信息,不再删除注册数据,故障恢复时,自动退出自我保护模式.
- 什么是 Aspect?
aspect 由 pointcount 和 advice 组成, 它既包含了横切逻辑的定义, 也包 括了连接点的定义. Spring AOP 就是负责实施切面的框架, 它将切面所定义的横 切逻辑编织到 ...
- Effective Java —— 用私有构造器或枚举类型强化单例属性
本文参考 本篇文章参考自<Effective Java>第三版第三条"Enforce the singleton property with a private construc ...
- Python - 函数的五大参数
Python的函数参数挺重要的,总结一下: (1)位置参数:没啥好说的,就是普通的参数. (2)默认参数: 参数形式:def power(x, n = 3): (在函数定义时通过对一个形参赋值的形式, ...