[ABC261B] Tournament Result
Problem Statement
$N$ players played a round-robin tournament.
You are given an $N$-by-$N$ table $A$ containing the results of the matches. Let $A_{i,j}$ denote the element at the $i$-th row and $j$-th column of $A$.
$A_{i,j}$ is - if $i=j$, and W, L, or D otherwise.
$A_{i,j}$ is W if Player $i$ beat Player $j$, L if Player $i$ lost to Player $j$, and D if Player $i$ drew with Player $j$.
Determine whether the given table is contradictory.
The table is said to be contradictory when some of the following holds:
- There is a pair $(i,j)$ such that Player $i$ beat Player $j$, but Player $j$ did not lose to Player $i$;
- There is a pair $(i,j)$ such that Player $i$ lost to Player $j$, but Player $j$ did not beat Player $i$;
- There is a pair $(i,j)$ such that Player $i$ drew with Player $j$, but Player $j$ did not draw with Player $i$.
Constraints
- $2 \leq N \leq 1000$
- $A_{i,i}$ is
-. - $A_{i,j}$ is
W,L, orD, for $i\neq j$.
Input
Input is given from Standard Input in the following format:
$N$
$A_{1,1}A_{1,2}\ldots A_{1,N}$
$A_{2,1}A_{2,2}\ldots A_{2,N}$
$\vdots$
$A_{N,1}A_{N,2}\ldots A_{N,N}$
Output
If the given table is not contradictory, print correct; if it is contradictory, print incorrect.
Sample Input 1
4
-WWW
L-DD
LD-W
LDW-
Sample Output 1
incorrect
Player $3$ beat Player $4$, while Player $4$ also beat Player $3$, which is contradictory.
Sample Input 2
2
-D
D-
Sample Output 2
correct
There is no contradiction.
如果 \(a_{i,j}=D,a_{j,i}=D\)
如果 \(a_{i,j}=L,a_{j,i}=W\)
判定即可。
#include<cstdio>
int n;
char s[1005][1005];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%s",s[i]+1);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i!=j)
{
if(s[i][j]=='W'&&s[j][i]!='L')
{
printf("incorrect");
return 0;
}
if(s[i][j]=='L'&&s[j][i]!='W')
{
printf("incorrect");
return 0;
}
if(s[i][j]=='D'&&s[j][i]!='D')
{
printf("incorrect");
return 0;
}
}
}
}
printf("correct");
}
[ABC261B] Tournament Result的更多相关文章
- spark源码分析以及优化
第一章.spark源码分析之RDD四种依赖关系 一.RDD四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency.PrunDependency.RangeDependency和O ...
- Rock-Paper-Scissors Tournament[HDU1148]
Rock-Paper-Scissors TournamentTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- CodeForces - 283E Cow Tennis Tournament
Discription Farmer John is hosting a tennis tournament with his n cows. Each cow has a skill level s ...
- No result defined for action com.lk.IndexAction and result success
意图访问一个 /es/index.action 竟然出现: [SAE ] ERROR [05-11 13:54:32] [http-80-5] com.opensymphony.xwork2.util ...
- FunDA(1)- Query Result Row:强类型Query结果行
FunDA的特点之一是以数据流方式提供逐行数据操作支持.这项功能解决了FRM如Slick数据操作以SQL批次模式为主所产生的问题.为了实现安全高效的数据行操作,我们必须把FRM产生的Query结果集转 ...
- PHP CI框架 result()详解
该方法执行成功返回一个对象数组,失败则返回一个空数组. 一般情况下,我们使用下面的方法遍历结果,代码就像这样: $query = $this->db->query("要执行的 S ...
- Codeforces CF#628 Education 8 A. Tennis Tournament
A. Tennis Tournament time limit per test 1 second memory limit per test 256 megabytes input standard ...
- CI生成查询记录集result(),row(),row_array().....
result() 该方法执行成功返回一个对象数组,失败则返回一个空数组. 一般情况下,我们使用下面的方法遍历结果,代码就像这样: $query = $this->db->query(&qu ...
- Execute Sql Task 的Result DataSet如何返回
Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据. 例子中使用的数据表代码 ...
- Struts2 源码分析——Result类实例
本章简言 上一章笔者讲到关于DefaultActionInvocation类执行action的相关知识.我们清楚的知道在执行action类实例之后会相关处理返回的结果.而这章笔者将对处理结果相关的内容 ...
随机推荐
- 解放双手!ChatGPT助力编写JAVA框架
亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下手,不知道从哪开始.要么有思路了后对某个功能实现的技术细节不了解,空有想法而无法实现 ...
- vs2022离线安装教程
因特殊需要,要离线安装vs2022的环境,完成配置后将安装过程记录. 第一步:下载visual Studio 引导程序以创建布局 在微软的官网下载合适的引导程序. 官网地址:创建基于网络的安装 - V ...
- 浅谈API安全的应用
理论基础 API它的全称是Application Programming Interface,也叫做应用程序接口,它定义了软件之间的数据交互方式.功能类型.随着互联网的普及和发展,API 从早期的 ...
- JSTL fn函数使用总结
首先,我们要在页面的最上方引用: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/function ...
- Python初步了解装饰器
Python初步了解装饰器 装饰器的概念 装饰器的简单使用 装饰器的进阶 装饰器的练习 装饰器的固定模块 装饰器的语法糖 装饰器的概念 装饰器它不是一个新的知识点,它是有之前我们学习的名称空间.函数嵌 ...
- 2.10 PE结构:重建重定位表结构
Relocation(重定位)是一种将程序中的一些地址修正为运行时可用的实际地址的机制.在程序编译过程中,由于程序中使用了各种全局变量和函数,这些变量和函数的地址还没有确定,因此它们的地址只能暂时使用 ...
- 使用JAVA调用KRPANO加密XML
KRPano自带的命令行工具krpanotools可以加密XML,具体的参数说明如下语法: krpanotools32.exe encrypt [OPTIONS] inputfiles input ...
- 《流畅的Python》 读书笔记 230926(第一章后半部分)
1.2 如何使用特殊方法 特殊方法的存在是为了被 Python 解释器调用的,你自己并不需要调用它们 就是说通常你都应该用len(obj)而不是obj.__len()__,无论是系统预置的,还是你自己 ...
- IO流知识汇总(不断更新)
BIO.NIO.AIO有什么区别? BIO.NIO.AIO是Java中用于处理IO的三种不同的方式,它们之间的区别如下: BIO(Blocking IO):同步阻塞IO,传统的IO模型,也称为传统IO ...
- 使用Eclipse生成CHM帮助文档(图解)
使用Eclipse生成CHM帮助文档(图解) 博客分类: System Operate javadoc生成chm文档java生成api帮助文档api帮助文档生成工具 Eclipse JavaDoc和j ...