标题: ARTS Week 4

分类: ARTS

tags: ARTS

Nov 18, 2019 ~ Nov 24, 2019

Algorithm

深入优先搜索-马遍历棋盘

要求:给定一个n * m的棋盘,左上角为(0, 0),马的初始位置为(x, y),找到所有方案使得马不重复地遍历棋盘,输出所有方案

思路

马走‘日’字,因此有八种移动方案,分别为:

dir = [[-2,1], [-1,2], [1,2], [2,1], [2,-1], [1,-2], [-1,-2], [-2,-1]]

坐标(x, y)移动一步后的结果为(x+dir[i][0], y+dir[i][1])

马的移动需要受到以下两个条件的约束:

  1. 移动后的点仍要在棋盘上,即

    $ 0 \leq x+dir[i][0] \leq n-1 \(
    \) 0 \leq y+dir[i][1] \leq m-1 $
  2. 移动后的点是要为访问过的,即

    $ visited[x+dir[i][0]][y+dir[i][1]] $

实现

Python的实现代码如下:

def draw():
print('第', ans,'种方案:',history) def horse(x, y, step):
if step == num:
global ans, found
ans = ans + 1
found = True
draw()
else:
for i in range(8):
x_temp = x + dir[i][0]
y_temp = y + dir[i][1]
if 0 <= x_temp < n and 0 <= y_temp < m and visited[x_temp][y_temp] == 0:
history[step] = [x_temp, y_temp]
visited[x_temp][y_temp] = 1
horse(x_temp, y_temp, step+1)
visited[x_temp][y_temp] = 0

Review

Emacs is Sexy

文章介绍的Emacs好处和安装Emacs

  1. Why
  1. 安装
  1. 学习

    阅读自带的教程Ctrl+h t或者查看手绘图

    中文教程可以查看子龙山人的教程,链接

希望能开箱即用的用户,可以采用Spacemacs。至于 Spacemacs 如何安装,可以看我的这篇文章:Spacemacs 简单介绍及安装

Tips

python3 输入一行数字中间用空格相隔的读取方法,例如:s = '1 2 3 4 5',如何提取为数组 nums = [1,2,3,4,5]

#方法1
num = [int(n) for n in input().split()] #方法二
num = list(map(int, input().strip().split())) print(num)

Share

Spacemacs 简单介绍及安装

ARTS Week 4的更多相关文章

  1. KDE声音服务器 arts

    KDE声音服务器 arts arts介绍arts是KDE的核心声音系统,支持多音频流.全双工.网络声音请求.ALSA与OSS驱动后端.JACK声音服务器后端等扩展,它既是声音服务器,也 提供一套音频软 ...

  2. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  3. 【ARTS】01_20_左耳听风-20190325~20190331

    zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...

  4. 【ARTS】01_19_左耳听风-20190318~20190324

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  5. 【ARTS】01_18_左耳听风-20190311~20190317

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  6. 【ARTS】01_17_左耳听风-20190304~20190310

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 【ARTS】01_16_左耳听风-20190225~20190303

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  8. 【ARTS】01_15_左耳听风-20190218~20190224

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. 【ARTS】01_14_左耳听风-20190211~20190217

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  10. 【ARTS】01_13_左耳听风-20190204~20190210

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

随机推荐

  1. 26.python操作Excel

    写入Excel import xlwt book=xlwt.Workbook(encoding='utf-8') sheet=book.add_sheet('xiangxin') # 标题名 titl ...

  2. ASP.NET Core 启用跨域请求

    本文翻译整理自:https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1 一 .Cross-Orig ...

  3. JVM之GC算法的实现(垃圾回收器)

    上一节:<JVM之GC算法> 知道GC算法的理论基础,我们来看看具体的实现.只有落地的理论,才是真理. 一.JVM垃圾回收器的结构 JVM虚拟机规范对垃圾收集器应该如何实现没有规定,因为没 ...

  4. 2、Vue实战-配置篇-npm配置

    引言: 如果刚开始使用 vue 并不了解 nodejs.npm 相关知识可以看我上一篇的实践,快速入门了解实战知识树. Vue实战-入门篇 上篇反思: 1.新的关注点:开发 vue 模板.如何使用本地 ...

  5. Java小白集合源码的学习系列:LinkedList

    目录 LinkedList 源码学习 LinkedList继承体系 LinkedList核心源码 Deque相关操作 总结 LinkedList 源码学习 前文传送门:Java小白集合源码的学习系列: ...

  6. 2018南京现场赛D 模拟退火

    题目链接:https://codeforces.com/gym/101981/attachments 给你n个城市的三维坐标,叫你求得一个坐标使这个坐标到其他城市的最大距离最小,并输出这个距离(距离不 ...

  7. python 遍历文件夹下的所有文件

    基础 import os # 遍历文件夹 def walkFile(file): for root, dirs, files in os.walk(file): # root 表示当前正在访问的文件夹 ...

  8. CF6B President's Office 题解

    看到大致思路一致的题解,决定发一篇运用STL不用dfs的题解     好久不发题解,心里不爽 思路: 1.输入的同时找到总统桌子的位置,用vector<pair <int,int> ...

  9. Python-直接存储类实例作为序列的元素

    如果我们需要存储的数据有很多属性,并且存储的数量很多,可选择定义一个类来表示数据类型,而类的实体作为单个的成员进行存储,这样做的好处是可以只存储一个容器,而不需要每次都存储大量的数据,并且可以限制对数 ...

  10. 《代码整洁之道》&《程序员的职业素养》

    这是why技术的第32篇原创文章 春节期间读了两本技术相关的书籍:编程大师Bob大叔的<代码整洁之道>和<代码整洁之道:程序员的职业素养>. <代码整洁之道>出版于 ...