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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

洛谷P1101 单词方阵

發布時間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷P1101 单词方阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一道簡單的利用dfs思想解決的水題,寫這篇文章只是為了懺悔為什么疫情在家學習的時候沒有好好學習數據結構以及大二沒有好好寫過題,導致快大四了還要重頭學數據結構(感謝我的老師讓我數據結構飄過)

這道題我大一上學期還沒開擺的時候就看過了,那時候數據結構、算法什么的基本一竅不通,只會一些簡單的c語言,連期末考試那道簡單的遞歸題目都做不出來orz

到了大三下學期,重新看這道題,覺得是如此的簡單...實在是為當初的擺爛后悔不已..也希望看到這篇文章的學弟學妹們不管是什么專業的,都要好好學習,是軟件/計算機專業的要好好學數據結構和算法,別等到大三了才來后悔,不要因為一時的困難就擺爛,擺爛是解決不了任何問題的

主要思想:用一個隊列保存矩陣里所有字符'y'的位置,然后依次出隊用dfs走迷宮的思想去判斷八個不同方向的字符串能否構成'yizhong'

完整代碼:

#include <iostream> #include <queue> typedef std::pair<int, int> pair;int n; char arr[105][105]; char ans[105][105];/*用字符矩陣保存結果,可不用字符矩陣,即使用bool矩陣判斷即可*/ const char* ch = "yizhong"; std::queue<pair> q; /*八個不同的方向判斷是否能構成'yizhong'這個字符串*/ int dx[8] = { -1,1,0,0,-1,-1,1,1 }; int dy[8] = { 0,0,-1,1,-1,1,-1,1 };int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cin >> n;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {std::cin >> arr[i][j];if (arr[i][j] == 'y') q.push(pair(i, j));}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {ans[i][j] = '*';}}int k;int flag;while (!q.empty()) {pair p = q.front(); q.pop();for (int i = 0; i < 8; i++) {k = 1;/*flag存儲哪個方向的字符串可以匹配給定字符串*/flag = i;int nx = p.first;int ny = p.second;/*'y'已經是判斷好的了,只需要判斷'izhong'即可*/for (int j = 0; j < 6; j++) {nx += dx[i];ny += dy[i];/*如果當前字符匹配則繼續進行下一個字符匹配*/if (nx >= 1 && nx <= n && ny >= 1 && ny <= n && arr[nx][ny] == ch[k]) k++;/*如果當前字符不匹配則設置flag為-1*/else if (nx >= 1 && nx <= n && ny >= 1 && ny <= n && arr[nx][ny] != ch[k]) {flag = -1;break;}/*其他情況*/else {flag = -1;break;}}/*找到哪個方向可以之后就設置ans矩陣*/if (flag != -1) {int c = 1;ans[p.first][p.second] = 'y';int nx = p.first;int ny = p.second;for (int j = 0; j < 6; j++) {nx += dx[flag];ny += dy[flag];ans[nx][ny] = ch[c];c++;}}}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {printf("%c", ans[i][j]);}printf("\n");}return 0; }

總結

以上是生活随笔為你收集整理的洛谷P1101 单词方阵的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品国产AV色欲天媒传媒 | 97国产精品久久 | 色网址在线观看 | 亚洲一区在线视频观看 | 91免费看. | 国产91一区 | 人人妻人人澡人人爽人人dvd | 久久久久久av | 国产va视频 | 在线能看的av| 99免费精品 | 日韩久久网 | 午夜精品区| 欧美日韩免费在线观看 | 夜夜爽夜夜 | 91网页入口| 日韩成人一区二区视频 | www九九热| 毛片在线免费观看网站 | 精品人妻无码一区二区性色 | 亚洲国产一区二区三区 | 一本色道久久亚洲综合精品蜜桃 | 天天综合网在线观看 | 日韩欧美精品在线观看 | 国产91小视频 | 91精品国产一区二区在线观看 | 久久av喷吹av高潮av萌白 | 亚洲精品乱码久久久久久久 | 午夜三区| 欧美婷婷六月丁香综合色 | 美女隐私直播 | 国产鲁鲁 | 国产精品极品白嫩在线 | 激情六月天婷婷 | 182tv午夜 | 在线sese| 日韩欧美成人网 | 亚洲精品一区二区三区中文字幕 | 日韩欧美在线精品 | 久久久久人妻精品色欧美 | 国产在线不卡一区 | 情侣自拍av| 日本免费一区二区三区四区 | 毛片91| 久久久国产精品视频 | 国产精品美女毛片真酒店 | 国产小视频免费 | 精品无人区无码乱码毛片国产 | 91插插插插插插插插 | 麻豆成人入口 | 日本一区二区三区免费在线观看 | 亚洲va久久久噜噜噜久久天堂 | jav中文字幕 | 中文字幕一区二区三区免费 | 丝袜av在线播放 | 91视频导航 | 国产精品无码一区二区三 | 欧美 日韩 国产 成人 在线 | 亚洲男人影院 | 日韩日b视频 | 成人一级影片 | 精品国产二区三区 | 北条麻妃一二三区 | 免费看日产一区二区三区 | 中文字幕不卡在线 | 波多野吉衣中文字幕 | 天天天综合网 | 日本三级午夜理伦三级三 | 在线视频观看你懂得 | 日韩不卡av| 无码人妻精品一区二区三区温州 | 天天色天天射天天干 | 亚洲视频二 | 黄色片91| 久草免费福利 | 日韩精品国产一区二区 | 一二三四区视频 | 亚洲激情在线播放 | 久久一二 | 丁香六月婷婷综合 | 午夜专区 | 日韩极品视频在线观看 | 91老师片黄在线观看 | 亚洲成人精品在线 | 国产日产欧美一区二区三区 | 特级a毛片| 四虎影视成人永久免费观看亚洲欧美 | 久久艹这里只有精品 | 国产一区二区三区四区五区美女 | 免费在线观看黄视频 | 欧美孕妇性xx | 天天天天操 | 怡红院一区二区三区 | 久久国语精品 | 亚洲一区二区三区在线观看视频 | 夜夜躁很很躁日日躁麻豆 | 毛片av网址 | 亚洲狼人伊人 | 天天色天天色天天色 |