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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2014 网选 5024 Wang Xifeng's Little Plot

發布時間:2025/3/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2014 网选 5024 Wang Xifeng's Little Plot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:從任意一個任意一個可走的點開始找一個最長的路,這條路如果有轉彎的話,
那么必須是 90度,或者沒有轉彎!

思路: 首先用dfs將所有可走點開始的 8 個方向上的線段的最長長度求出來 !
step[i][j][k] 表示的是(i,j)沿著k方向一直走到頭或者轉彎時的最長步數!
最后枚舉每一個可走點轉彎為90度的路徑,找到最長的長度!
step[i][j][k1] + step[i][j][k2] 就是 (i, j)這個點 k1 和 k2方向構成90度!

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define N 105 6 using namespace std; 7 8 int step[N][N][8]; 9 int dir[8][2] = { {0, 1}, {1, 0}, {-1, 0}, {0, -1}, {-1, -1}, {1, 1}, {-1, 1}, {1, -1} }; 10 int index[8][2] = { {0, 1}, {1, 3}, {2, 3}, {0, 2}, {5, 6}, {5, 7}, {4, 7}, {4, 6}};//每一個節點所對應的轉彎的枚舉 11 char mp[N][N], vis[N][N]; 12 int n; 13 14 bool judge(int x, int y){ 15 if(x < 1 || y < 1 || x > n || y > n) 16 return false; 17 if( mp[x][y] == '#') return false; 18 19 return true; 20 } 21 22 void dfs(int x, int y){ 23 for(int i = 0; i < 8; ++i){ 24 int xx = x + dir[i][1]; 25 int yy = y + dir[i][0]; 26 if(!judge(xx, yy)) 27 step[x][y][i] = 1; 28 else{ 29 if( !step[xx][yy][i] )//記憶話的趕腳 30 dfs(xx, yy); 31 step[x][y][i] = 1 + step[xx][yy][i]; 32 } 33 } 34 } 35 36 int main(){ 37 while(scanf("%d", &n) && n){ 38 memset(step, 0, sizeof(step)); 39 memset(vis, 0, sizeof(vis)); 40 for(int i = 1; i <= n; ++i) 41 scanf("%s", mp[i]+1); 42 43 for(int i = 1; i <= n; ++i) 44 for(int j = 1; j <= n; ++j) 45 if(mp[i][j] == '.') 46 dfs(i, j); 47 48 int maxN = -1; 49 for(int i=1; i <= n; ++i) 50 for(int j = 1; j <= n; ++j){ 51 if(mp[i][j] == '.') 52 for(int k = 0; k < 8; ++k) 53 maxN = max(maxN, step[i][j][index[k][0]] + step[i][j][index[k][1]] ); 54 } 55 printf("%d\n", maxN - 1);//因為多加了一次拐點! 56 } 57 return 0; 58 } View Code

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3993741.html

總結

以上是生活随笔為你收集整理的2014 网选 5024 Wang Xifeng's Little Plot的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。