日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017蓝桥杯省赛---java---A---4(方格分割)

發(fā)布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017蓝桥杯省赛---java---A---4(方格分割) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

思路分析

dfs

題目要求沿著格子的邊線剪成兩個部分,仔細(xì)觀察,剪開的邊線是關(guān)于中心點(3,3)對稱的,于是我們從(3,3)開始搜索,直到搜到邊界則退出。需要注意的是要從(3,3)點開始向兩個方向同時搜索,并且這里兩個方向是相反的。最后得出的結(jié)果要除以4,因為旋轉(zhuǎn)堆成的屬于同一種分割法。

代碼實現(xiàn)

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

總結(jié)

以上是生活随笔為你收集整理的2017蓝桥杯省赛---java---A---4(方格分割)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。