路径之谜 java_路径之谜 - 给杰瑞一块奶酪~ - 博客园
小明冒充X星球的骑士,进入了一个奇怪的城堡。
城堡里边什么都没有,只有方形石头铺成的地面。
假设城堡地面是 n x n 个方格。【如图1.png】所示。
按习俗,骑士要从西北角走到东南角。
可以横向或纵向移动,但不能斜着走,也不能跳跃。
每走到一个新方格,就要向正北方和正西方各射一箭。
(城堡的西墙和北墙内各有 n 个靶子)
同一个方格只允许经过一次。但不必走完所有的方格。
如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?
有时是可以的,比如图1.png中的例子。
本题的要求就是已知箭靶数字,求骑士的行走路径(测试数据保证路径唯一)
输入:
第一行一个整数N(0
第二行N个整数,空格分开,表示北边的箭靶上的数字(自西向东)
第三行N个整数,空格分开,表示西边的箭靶上的数字(自北向南)
输出:
一行若干个整数,表示骑士路径。
为了方便表示,我们约定每个小格子用一个数字代表,从西北角开始编号: 0,1,2,3....
比如,图1.png中的方块编号为:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
示例:
用户输入:
4
2 4 3 4
4 3 3 3
程序应该输出:
0 4 5 1 2 3 7 11 10 9 13 14 15
资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。
提交时,注意选择所期望的编译器类型。
代码:
#include
using namespacestd;int vis[20][20];int c[20],r[20],n,flag,all;int path[400];int dir[4][2] = {0,1,1,0,0,-1,-1,0};void print(intk) {
cout<<0;for(int i = 0;i < k;i ++) {
cout<
}
}void dfs(int x,int y,intk) {if(x == n - 1 && y == n - 1) {if(all == k * 2) {
print(k);
flag= 1;
}return;
}if(flag) return;for(int i = 0;i < 4;i ++) {if(flag) return;int tx = x + dir[i][0];int ty = y + dir[i][1];if(tx < 0 || ty < 0 || tx >= n || ty >= n || vis[tx][ty] || !c[ty] || !r[tx]) continue;
c[ty]--;
r[tx]--;
vis[tx][ty]= true;
path[k]= tx * n +ty;
dfs(tx,ty,k+ 1);
vis[tx][ty]= false;
c[ty]++;
r[tx]++;
}
}intmain() {
cin>>n;for(int i = 0;i < n;i ++) {
cin>>c[i];
all+=c[i];
}for(int i = 0;i < n;i ++) {
cin>>r[i];
all+=r[i];
}
vis[0][0] = true;
c[0] --;
r[0] --;
all-= 2;
dfs(0,0,0);return 0;
}
路径之谜 java_路径之谜 - 给杰瑞一块奶酪~ - 博客园相关推荐
- logminer java_使用OracleLogminer同步Demo1Demo介绍-博客园.PDF
使用OracleLogminer同步Demo1Demo介绍-博客园 使用Oracle Logminer 同步Demo 1 Demo 介绍 1.1 Demo 设想 前面介绍了Oracle LogMine ...
- 路径之谜 java_路径之谜游戏下载
路径之谜画风非常清新治愈,玩家需要靠自己的记忆来帮助男女主人见到彼此,也许见你需要花费我的好多时间和精力,但是我依然义无反顾,只想看到你而已,游戏内容非常丰富,玩家需要仔细思考下一步应该做什么,感兴趣 ...
- linux运行input文件路径,new FileInputStream(filePath)方法在linux下执行不正确 | ZPY博客...
因为要做下载,代码里用的new FileInputStream(filePath)读取文件在windows下测试正常,但打包放到Linux下执行就不正常了,也不报错,但是下载下来的图片是损坏的.感觉是 ...
- 圈复杂度函数Java_圈复杂度 - byron_nj - 博客园
Cyclomatic Complexity 1. 概念 a. 圈复杂度是一种衡量代码复杂程度的标准. b. 圈复杂度高的害处: 圈复杂度大说明代码的判断逻辑复杂,可能质量低: 需要的更多的测试用例,难 ...
- 逆元java_逆元 - 阿聊 - 博客园
每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) , 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 . 逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a ...
- asobject java_函数即对象(FunctionAsObject)- Martin Fowler博客
/** * 献给我最尊敬的偶像Martin Fowler * 原文出处:https://martinfowler.com/bliki/FunctionAsObject.html * @author d ...
- 围城java_围城有感 - cayman丿2016 - 博客园
钱老先生说:"我想写现代中国某一部分社会.某一类人物.写这类人,我没忘记他们是人类,只是人类,具有无毛两足动物的基本根性.角色当然是虚构的,但是有考据癖的人也当然不肯错过索隐的杨会.放弃附会 ...
- 后端渲染 java_前后端渲染 - 空一座旧城,守一个旧人 - 博客园
前后端渲染之争 1.引言 十年前,几乎所有网站都使用 ASP.Java.PHP 这类做后端渲染,但后来随着 jQuery.Angular.React.Vue 等 JS 框架的崛起,开始转向了前端渲染. ...
- 骑士游历java_骑士游历 - 凡尘里的一根葱 - 博客园
package经典;public classKnight {/***@paramargs*/ public static voidmain(String[] args) {//TODO Auto-ge ...
最新文章
- HDFS--Hadoop分布式文件系统
- python 为何要学16进制,从十六进制Python中的补
- css position left 50%
- hive 如何将数组转成字符串_教你如何将Power Logic的原理图转成Orcad的原理图
- 智慧交通day02-车流量检测实现09:SORT/deepSORT
- Oracle11g报bde,表现 – BDE与ADO在德尔福
- Android中关于键盘的处理
- Atitit stomp.js conn连接activemq 目录 1.1. activemq 启动,已经默认开启了stomp ws的接口。。地址是	1 1.2. Js 客户端代码	1 1.3
- eps图片怎样用html显示,eps图片用什么软件打开
- 什么是GPS,GPS技术主要有哪些特点?
- 7-2 哥尼斯堡的“七桥问题” (25分)
- 火狐浏览器设置深色主题
- STM32F103(七)——通用定时器的说明与功能
- 华为云计算IE面试笔记-简述Fusion Storage主要模块MDC,OSD,VBS,FSA及FSM的功能定位及交互关系
- RSF 分布式 RPC 服务信息的暴露
- php mcv,swolle http mcv设计问题
- MySQL高可用和灾备调研
- 使用ZEGO SDK零基础搭建Android语音聊天应用
- matlab绘四叶玫瑰线,玫瑰线 - calculus的日志 - 网易博客
- Prometheus Operator概述
热门文章
- android studio_真机测试
- 考研这么累,能支持你坚持到底的是什么?
- aizu-0558 cheese
- SpringCloud-3-Ribbon
- RC低通滤波器的响应特性
- R语言数据可视化中颜色设置
- 怎么在vue中发起数据请求
- Exception in thread' main” java. 1ang. Runt imeException: Error while running command to get file pe
- 华硕fx60vm拆机图解_飞行堡垒fx60vm怎么样 华硕飞行堡垒FX60VM全面深度评测图解...
- 错误方法修改用户名后,开机提示无法登录到你的账户的正确解决方法