题意:

输入n行数,没行由2*n个数,表示一个坐标(x,y)。

如果x和y==-1表示从该点(i,j)出发,按照构造的前移动不会停下。

否则就要到点(x,y)处停下。

题解:

首先处理-1  枚举每个-1的坐标,判断四个方向是否存在-1的情况。如果不存在就可以结束了,否则就将移动方向保存到棋盘中。

然后处理x    如果(i,j)=(x,y),说明此处(i,j)一定时x。注意,如果输入了非-1的数据,那么只少要存在一个x。

然后从每个x出发,dfs向四个方向跑, 注意可以跑的前提时这四个方向必须是要到x。

最后如果有某个点没有枚举到,那么也没有答案。

#include<bits/stdc++.h>
using namespace std;
const int N=+;
char ans[N][N];
struct stu {
int a,b;
}mp[N][N];
bool flag=-;
int n;
int d[][]={,,,,-,,,-};
void dfs(int x,int y,int x1,int y1){
for(int i=;i<;i++){
int dx=x+d[i][];
int dy=y+d[i][];
if(dx>=&&dy>=&&dx<=n&&dy<=n&&mp[dx][dy].a==x1&&mp[dx][dy].b==y1&&ans[dx][dy]==''){
if(i==) {
ans[dx][dy]='U';
dfs(dx,dy,x1,y1);
}
else if(i==){
ans[dx][dy]='L';
dfs(dx,dy,x1,y1);
}
else if(i==){
ans[dx][dy]='D';
dfs(dx,dy,x1,y1);
}
else {
ans[dx][dy]='R';
dfs(dx,dy,x1,y1);
}
}
}
}
bool judge(int i,int j)
{
if(i+<=n&&mp[i+][j].a==-) {
ans[i][j]='D';
return true;
}
else if(j+<=n&&mp[i][j+].a==-){
ans[i][j]='R';
return true;
}
else if(i->=&&mp[i-][j].a==-){
ans[i][j]='U';
return true;
}
else if(j->=&&mp[i][j-].a==-){
ans[i][j]='L';
return true;
}
else return false;
}
int main()
{
ios::sync_with_stdio();
cin>>n;
int cnt=;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
int x,y;
cin>>x>>y;
if(x!=-) cnt++;
mp[i][j]={x,y};
ans[i][j]='';
}
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
if(mp[i][j].a==-){
if(!judge(i,j)){
cout<<"INVALID"<<endl;
return ;
}
}
}
int sum=;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(mp[i][j].a==i&&mp[i][j].b==j){
ans[i][j]='X';
sum++;
}
}
}
if(cnt!=&&sum==){
cout<<"INVALID"<<endl;
return ;
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(ans[i][j]=='X'){
dfs(i,j,i,j);
}
}
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(ans[i][j]=='') {
cout<<"INVALID"<<endl;
return ;
}
}
}
cout<<"VALID"<<endl;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++)
cout<<ans[i][j];
cout<<endl;
}
return ;
}

T - Nash Matrix CodeForces - 1316D的更多相关文章

  1. Code force-CodeCraft-20 (Div. 2) D. Nash Matrix 详解(DFS构造)

    D. Nash Matrix time limit per test2 seconds memory limit per test256 megabytes inputstandard input o ...

  2. Sonya and Matrix CodeForces - 1004D (数学,构造)

    http://codeforces.com/contest/1004/problem/D 题意:网格图给定到中心点的曼哈顿距离数组, 求该图n,m及中心点位置 首先可以观察到距离最大值mx一定在某个角 ...

  3. Vasya And The Matrix CodeForces - 1016D (思维+构造)

    Now Vasya is taking an exam in mathematics. In order to get a good mark, Vasya needs to guess the ma ...

  4. Maximal Binary Matrix CodeForces - 803A (贪心+实现)

    题目链接 题意有点坑: 给你一个N*N的矩阵,让你填入K个1,使之整个矩阵关于左上到右下的对角线对称,并且这个要求这个矩阵的字典序最大. 对矩阵的字典序的定义是从每一行的第一个元素开始比较,大着为字典 ...

  5. Clear The Matrix CodeForces - 903F (状压)

    大意: 给定4行的棋盘以及4种大小的正方形方块, 每种各有一定花费, 每次可以选一种方块放在棋盘上, 棋盘对应格子全变为'.', 求最少花费使得棋盘全部变成'.' 状压基本操作练习, 状态取12位, ...

  6. Vasya and Magic Matrix CodeForces - 1042E (概率dp)

    大意:给定n*m矩阵, 初始位置(r,c), 每一步随机移动到权值小于当前点的位置, 得分为移动距离的平方, 求得分期望. 直接暴力dp的话复杂度是O(n^4), 把距离平方拆开化简一下, 可以O(n ...

  7. codeforces400C

    Inna and Huge Candy Matrix CodeForces - 400C Inna and Dima decided to surprise Sereja. They brought ...

  8. # CodeCraft-20 (Div. 2)

    CodeCraft-20 (Div. 2) A. Grade Allocation 思路 : 无脑水题 代码 #include<iostream> #include<algorith ...

  9. CodeForces 313C Ilya and Matrix

    Ilya and Matrix Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Su ...

随机推荐

  1. SpringMVC最详细笔记partⅠ

    一.springMVC-quickStar 解决maven加载项目过慢 archetypeCatalog internal 导入依赖 <!-- 版本锁定 --> <propertie ...

  2. 李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪

    6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints 论文地址: 6-PACK: Category-level 6D P ...

  3. [ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images

    简介         本文作者提出新的框架(MTTM),使用模板匹配来完成多个任务,从深度图的模板上找到目标物体,通过比较模板特征图与场景特征图来预测分割mask和模板与检测物体之间的位姿变换.作者提 ...

  4. 我是如何用IDEA调试BUG的?

    最近小明的bug有点多,忙的连王者荣耀都顾不上玩了,导致现在不得不抽点时间研究一下作为当前大多Java程序员开发工具的IDEA DEBUG功能,以提高效率. 一.条件断点 场景:我们在遍历某个集合,期 ...

  5. python set() leetcode 签到820. 单词的压缩编码

    题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell& ...

  6. 如何使用WordPress搭建网站

    1.空间的申请 阿里用户可以申请[阿里共享虚拟主机普惠版6元/年],虽然配置和空间不高,但也可以做个小站点的.当不满足当前配置的时候,随时可以进行升级,所以拿来练手还是比较合适的.   2.WordP ...

  7. TensorFlow系列专题(三):深度学习简介

    一.深度学习的发展历程 深度学习的起源阶段 深度学习的发展阶段 深度学习的爆发阶段 二.深度学习的应用 自然语言处理 语音识别与合成 图像领域 三.参考文献   一.深度学习的发展历程 作为机器学习最 ...

  8. Tainted canvases may not be exported的问题解决

    项目里使用到用canvas生成海报,在toDataURL报了这个错误Tainted canvases may not be exported. 原因就在于使用了跨域的图片,所以说是被污染的画布.解决方 ...

  9. iPhone连接到Mac上叮叮叮断断续续响个不停的解决办法

    一.推荐方式 1.让iPhone和Mac通过数据线连接(对,就是连着) 2.打开终端,执行如下命令: sudo killall -STOP -c usbd 3.一分钟内,iPhone即可连上Mac 二 ...

  10. 面试总结:关于MySQL事务的10个问题常见面试问答(FQA)

    学习关系型数据库MySQL是很好的切入点,大部分人工作中用惯了CRUD,对面试官刨根问底的灵魂拷问你还能对答如流吗?我们有必要了解一些更深层次的数据库基础原理. 文章每周持续更新,各位的「三连」是对我 ...