石油大学网页设计与网站建设,wordpress 指定页面内容,百度指数官网查询入口,网站建设咨询什么题目描述 思路分析
dfs
题目要求沿着格子的边线剪成两个部分#xff0c;仔细观察#xff0c;剪开的边线是关于中心点#xff08;3#xff0c;3#xff09;对称的#xff0c;于是我们从#xff08;3#xff0c;3#xff09;开始搜索#xff0c;直到搜到边界则退出。…题目描述 思路分析
dfs
题目要求沿着格子的边线剪成两个部分仔细观察剪开的边线是关于中心点33对称的于是我们从33开始搜索直到搜到边界则退出。需要注意的是要从33点开始向两个方向同时搜索并且这里两个方向是相反的。最后得出的结果要除以4因为旋转堆成的属于同一种分割法。
代码实现
package lanqiao;public class Main {static int dir[][] {{0,1}, {0,-1}, {1,0}, {-1,0}};static int vis[][]new int[7][7];static int ans 0;public static void dfs(int x, int y){if(x 0 || y 0 || x 6 || y 6){//到边界的时候返回ans;return ;}for(int i 0; i 4; i){int x1 x dir[i][0];int y1 y dir[i][1];int x2 6 - x1;int y2 6 - y1;if(x1 0 y1 0 x1 6 y1 6){if(vis[x1][y1]!1){//回溯vis[x1][y1] vis[x2][y2] 1;dfs(x1,y1);vis[x1][y1] vis[x2][y2] 0;}}}}public static void main(String[] args) {vis[3][3] 1;dfs(3,3);System.out.println(ans/4);}}
答案
509