1,记得之前要复习。上次先写的题是数的划分。

虽然我不想说,估计全忘了。复习就当把上次的题写了把。

应该比较稳了。

2,题中的要求。

一,所在的位置必须是有颜色的。(很明显要用bool去涂一遍)

二,方向可以是上下左右四个方向。(肯定要打表不是,记得之前打表打了好几个有表的题)

三,走格子时候,若颜色相同则不需要花费金币,若颜色不同则需要花费1枚金币。(每次特判下如果bool没有标记,先看有钱没,有钱就可以走)

四,走格子的时候,可以施展魔法使得下一个无色的格子变成你指定的颜色,但是在你离开你变得颜色这个格子之前同时得走到一个本来就有颜色的格子,

不能再使用这个魔法。另外在你离开之后,这个变了颜色的格子会恢复到原先的颜色。

(那么就得再开一个魔法的数组,开了魔法我就bool一下,同时要再标记一个无色的。

但是在递归进入的话,怎么个回溯,反正又不能回头就相当于回溯了)

(关于这个使用魔法这个东西,思维难度好像在这里吧,

我的解决方法是,在你使用这个魔法时,判定一下你上步使用魔法了没,只要上步没有用过魔法,不管你走过几个(必然走过一个以上了),那么我这次肯定是可以使用魔法的

先特判上步用过魔法没,

再给两个可以选颜色的特判。

五,看数据范围,写出最基本的问题。

六,再就是一些小细节问题,但是我突然对这个

if(xi==m)~~~,这个里面用return 有点疑惑。

3,题目中的问题。

一,memset函数的用法。

二,搜索函数的设计。

搜索目标,和搜索状态。从(1,1)走到(m,m)所需要的最小金币数,

状态设计,m表示当前用了多少金币,xi,表示当前要走的x坐标,yi,表示当前要走的y坐标。

三,关于这种走坐标的,好像图里面挺多这个的》?

嗯,这个打表方法还是懂了一点。

四,我现在想到一个边界性的问题,如果到不了我该怎么判断?

五,不对我,我感觉我整个这个设计的,有点不。

对于if(xi=m)~~~这块有点问题。

六,还是运行不了你决定可能哪里有问题。

①,测试陷入了死循环肯定是不对的。首先在第一步就卡住了,不停地显示1.。

②,我来测试一下输入。

③,走出了棋盘怎么办》所以先判断都大于1的情况下,再加一句要都同时小于等于m;

④,先不考虑到不了的情况。

⑤,还是再测试点1不停的循环,这可能是什么原因?直接就卡到这步上去了。

⑥,最后感觉还是使用魔法这块错了,if不该用这这块。

⑦,还是不行。。好像是之前用坐标的思想来匹配不成功。打表移动这块出现了问题。

样例是x行,y列。

⑧,但是还是没进去循环。。

⑨,第一解决方法是,把判断x,y在界限内和移动换一下位置。这个无所谓。

第二,在传入的时候,都再设了一个新的变量

七,看网校题解

①,人家先多考虑的是优化剪枝什么的

②,还没有代码,这我该咋办。。

③,向优秀的人去学习。

④,不过我大致感觉了下dfs和bfs。。可能好像就是在打表那块有挺多的不同把

八,看别人的题解

①,对于颜色的改变,更适合自己的使用,比如无色变成了0,就更好判断一些。

②,总结一下,就是优化很好。。但是我决定这样我学不了什么东西的。

③,我注释掉了一点我觉得不懂的优化代码,然后。。。样例一个都没过,一摸一样的代码。。

④,那我可能知道我的错误在哪里了,我可能缺的是优化。。

九,如何改进我的代码。

①,我他妈加一个优化的东西,就成。。终于不他妈循环了哈哈哈,虽然还他妈答案是错的。。

②,你觉得现在的问题在哪呢?

③,对于这个颜色的分枝根据之前的进行一下优化,

其实这里给我们了一个启示,尽量把条件变化成if else类型的

再往下分也无所谓。

这个时候往往你要去提取题目中的条件了

④,有数字了,但是答案不对。

⑤,问题挺大的。

⑥,最开始board【】都错了。

⑦,再有一个问题在于,对于使用魔法,你变颜色这步。。。

你既然是求最小的,那么你直接附上一个的颜色呗。。。少花钱啊。。

⑧,这个。。就是搜索都能过一大半了。。但是还是有问题。

⑨,显然这个是i等待你啥时候再搞呢。

L3956棋盘的更多相关文章

  1. TYVJ1035 棋盘覆盖

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩 ...

  2. POJ 1321 棋盘问题(dfs)

    传送门 棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38297   Accepted: 18761 Descri ...

  3. 设计一个自动生成棋盘格子的JS小程序

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. BZOJ1057[ZJOI2007]棋盘制作 [单调栈]

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳. 而我们的 ...

  5. 【BZOJ-3039&1057】玉蟾宫&棋盘制作 悬线法

    3039: 玉蟾宫 Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 753  Solved: 444[Submit][Status][Discuss] D ...

  6. 【ZJOI2007】棋盘制作 BZOJ1057

    Description 国 际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方 阵,对应八八六十四卦,黑白对 ...

  7. Unity手撸2048小游戏——自动生成4*4棋盘

    1.新建文件夹,命prefabs,将刚刚做成的Chessman拖入该文件下,做成预制体 2.删除panel下的Chessman 3.在panel下,新建一个空对象,命名为Chessboard,大小设置 ...

  8. C# 围棋盘的画法

    C#绘图不是那么美,不过对于简单的图形,不注重美感的图质,用C#还是很方便的. 背景颜色.绘制图表线色.纵横列大小可按照个人喜好调节. 不提供AI代码,我自己设计的AI不是很完美,就不拿出来献丑了,算 ...

  9. 炮(棋盘DP)

    一直以为自己写的就是状态压缩,结果写完才知道是个棋盘dp 首先看一下题目 嗯,象棋 ,还是只有炮的象棋 对于方案数有几种,我第一个考虑是dfs,但是超时稳稳的,所以果断放弃 然后记得以前有过和这个题差 ...

随机推荐

  1. LeetCode 5214. 最长定差子序列(Java)HashMap

    题目: 5214. 最长定差子序列 给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等 ...

  2. Linux node.js安装

    1.下载地址 下载node 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 2.下载下来的tar文件上传到服务 ...

  3. mysql连接不释放

    环境: 持久层:JPA 数据库连接池:druid 数据库中间件:Mycat 数据库:Mysql 报错: Unable to acquire JDBC Connection 排查步骤: 方法一: 1.d ...

  4. 【leetcode-78 dfs+回溯】 子集

    子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1],   ...

  5. Elasticsearch7.3使用内置的JDK12

    汇总:采用最简单的办法,就是在elasticsearch文件开头添加上这一行export JAVA_HOME=/home/vdb1/elastic_cluster/elasticsearch-7.3. ...

  6. 20、Outer Apply 和 Cross Apply

    1.場合 select...caseが複雑の時 2.運用方法 SELECT * FROM stu CROSS APPLY ( --like inner join * FROM score WHERE ...

  7. Spring Boot Freemarker特别篇之contextPath【从零开始学Spring Boot

      需求缘起:有人在群里@我:请教群主大神一个问题,spring boot  + freemarker 怎么获取contextPath 头疼死我了,网上没一个靠谱的 .我就看看之前博客中的 [Spri ...

  8. 要想获取select的值,使用ng-modle,否则无法获取select 的值

    ng-bind是从$scope -> view的单向绑定 ng-modle是$scope <-> view的双向绑定 <form role="form" c ...

  9. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。

    给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像. 示例 : 给定 ma ...

  10. PHP使用Redis的Pub/Sub(发布订阅)命令

    1.概念 名称 含义 channel 频道:生产者和消费者直接操作的对象 publish 生产者:向channel发送消息 subscribe 消费者:订阅一个或多个channel psubscrib ...