博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-5319 Painter,深搜标记!
阅读量:4617 次
发布时间:2019-06-09

本文共 694 字,大约阅读时间需要 2 分钟。

                                                              

  题意:有一个棋盘n行,列数不超过50,用red和blue给这个棋盘涂色,每个格子每种颜色最多涂一次,如果两种颜色都涂了则该格子颜色为Green;red以斜杠‘\‘方式涂色,bule以’/‘方式涂色。给出涂色后的棋盘,问最少涂了几次。

  思路:搜索的思路没错,不过这题有点小坑,题目只告诉了行,并没有明确列,所以得自己求出。涂色时并不是一涂到底,也可以连续几个对角的格子涂色。所以不管是暴力枚举还是搜索都行。

const int N=100+5;char s[N][N];int n,m;void dfs(int x,int y,char c){    if(s[x][y]=='.') return ;//隔断了,不用往下涂色了    if(s[x][y]==c)    {        s[x][y]='.';        if(c=='B')        {            if(x+1
=0) dfs(x+1,y-1,c);//反斜杠方向涂色 } else { if(x+1
=0) dfs(x+1,y-1,c); } else { s[x][y]='B'; if(x+1



转载于:https://www.cnblogs.com/nyist-TC-LYQ/p/7208094.html

你可能感兴趣的文章
Python垃圾回收机制详解
查看>>
个人介绍
查看>>
mui搜索框 搜索点击事件
查看>>
最简单的三层实例【插入据
查看>>
设计模式学习笔记——Prototype原型模式
查看>>
pom.xml里有红叉报错的解决办法
查看>>
Perl last和next的用法区别
查看>>
Selenium 管理 Cookies
查看>>
exceptionfunction[LeetCode]Permutations
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>
js时间转换
查看>>
(转载) Android Studio你不知道的调试技巧
查看>>
队列实现霍夫曼树
查看>>
关于微信公众平台测试号配置失败的问题
查看>>
【NOIP2001】统计单词个数
查看>>
linux常用端口
查看>>
异常处理
查看>>
/proc/uptime详解
查看>>
如何建立合适的索引?
查看>>