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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Uva 1103 Ancient Messages

發布時間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Uva 1103 Ancient Messages 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大致思路是DFS:

  1. 每個圖案所包含的白色連通塊數量不一:

      Ankh : 1 ;? Wedjat : 3? ; Djed : 5 ? ; ? Scarab : 4 ; Was : 0? ;? Akeht : 2

  根據每個圖包含的白色連通塊判斷是哪個圖案

  2. 兩個Dfs函數,一個判斷白色,一個判斷黑色;判斷黑色的Dfs,一旦發現白色,就調用判斷白色的Dfs,同時白色連通塊計數器加一

  3. 我開始比較疑惑的一個地方是:如何判斷這個白色塊是在一個黑色圖案里面還是外面?后來才明白:只要一開始在圖外面再加一層白色框框,然后開始訪問白色,把此時訪問到的所有白色設為不可訪問即可,這樣子就不會把圖案里面的白色連通塊和外面的混淆了

?

一點感悟和收獲:這題確實再某種程度上刷新了我“的世界觀“,初看題意,啥想法都沒有,后來再看看書,再看看別人的題解,才發現,這題實在太簡單了!說白了,一開始把題目想復雜了,沒發現淺顯的規律,如果能靜下心來,仔細發現規律的話,這題真的比我最初想像的簡單太多了!

?

參考資料:

  1. http://www.cnblogs.com/hanbinggan/p/4225044.html

  2. 《算法競賽入門經典(第二版)》

?

#include <bits/stdc++.h>using namespace std;const int MAXN = 200 + 10; int plan[MAXN][MAXN]; int counter[MAXN]; char apl[] = "ADJKSW"; int H, W;void Read() {memset(plan, 0, sizeof(plan));char c;int pos;for(int i=1; i<=H; i++) {pos = 1;for(int j=1; j<=W; j++) {cin >> c;if(isalpha(c)) {c = c - 'a' + 10;} else {c = c - '0';}// Transfer to binarypos += 3;for(int k=0; k<4; k++) {plan[i][pos --] = c % 2;c /= 2;}pos +=5;}}W *= 4; }bool Inside(int x, int y) {return x>=0 && x<=H+1 && y>=0 && y<=W+1; }int cnt; void DfsWhite(int x, int y) {if(!Inside(x, y) || plan[x][y]!=0) {return ;}plan[x][y] = -1;DfsWhite(x, y+1);DfsWhite(x, y-1);DfsWhite(x+1, y);DfsWhite(x-1, y); }void DfsBlack(int x, int y) {if(!Inside(x, y) || plan[x][y] == -1) return ;if(plan[x][y] == 0) {++ cnt;DfsWhite(x, y);return ;}plan[x][y] = -1;DfsBlack(x, y+1);DfsBlack(x, y-1);DfsBlack(x+1, y);DfsBlack(x-1, y); }int Case = 0; void Work() {Read();DfsWhite(0, 0); // the white blocks outside the hieroglyphsmemset(counter, 0, sizeof(counter));for(int i=1; i<=H; i++) {for(int j=1; j<=W; j++) {if(plan[i][j] == 1) {cnt = 0;DfsBlack(i, j);switch(cnt) {case 0: counter['W'] ++; break;case 1: counter['A'] ++; break;case 2: counter['K'] ++; break;case 3: counter['J'] ++; break;case 4: counter['S'] ++; break;case 5: counter['D'] ++; break;}}}}cout << "Case " << (++Case) << ": ";for(int i=0; i<6; i++) {for(int j=0; j<counter[apl[i]]; ++j) {cout << apl[i];}}cout << endl; }int main() {ios::sync_with_stdio(false);cin.tie(0);while(cin >> H >> W && (H + W)) {Work();}return 0; }

?

轉載于:https://www.cnblogs.com/Emerald/p/4723653.html

總結

以上是生活随笔為你收集整理的Uva 1103 Ancient Messages的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美涩涩涩 | 亚洲一区二区三区av无码 | 高清不卡一区二区三区 | www.夜夜操.com| 日韩一区在线播放 | 国产骚b | mm1313亚洲国产精品美女 | 日韩免费久久 | 不卡视频免费在线观看 | 在线亚洲区| 午夜精品久久久久久久91蜜桃 | 国产一区二区三区中文字幕 | 欧美成人吸奶水做爰 | 老师张开让我了一夜av | 亚洲精品在线不卡 | 国产主播一区二区 | 男人添女人囗交视频 | 国产成人无码精品久久久电影 | 91精品国产高清一区二区三蜜臀 | 爱吃波客今天最新视频 | 久久久www成人免费精品 | 国产日韩在线观看一区 | 色视av | 丝袜av电影 | 国产av不卡一区 | 日日操夜夜草 | 黄网站色视频免费观看 | 香蕉视频黄污 | 国产乱码一区二区 | 亚洲色图14p | 日本男女网站 | 日韩欧美中文在线 | 日本性高潮视频 | 成人毛片网站 | 欧美一区二区三区不卡视频 | 欧美一区二区三区爱爱 | 日韩精品福利视频 | 婷婷激情影院 | 日韩久久久久久久久久 | 在线观看日本 | 国产精品一级二级三级 | 日韩精品在线观看一区二区三区 | 久久久久亚洲av成人人电影 | 99九九视频 | 日韩av免费一区 | 亚洲视频网站在线观看 | 国精产品一区二区三区 | 九九久久九九久久 | 中文字幕视频 | 插我一区二区在线观看 | 在线超碰av | av在线播放观看 | 午夜天堂网 | 欧美老女人bb| 成人综合一区二区 | 风流少妇| 亚洲视频一二区 | 婷婷六月综合网 | 亚洲精品高清在线 | 我爱av好色 | 波多野结衣不卡 | av一区免费 | 粉嫩av国产一区二区三区 | 欧美资源站 | 国产精品区二区三区日本 | 久久精品欧美一区二区三区麻豆 | 日韩少妇激情 | 久久人久久 | 欧美日韩人妻精品一区 | 亚洲女人天堂网 | 噼里啪啦国语版在线观看 | 性人久久久久 | 久热精品视频在线观看 | 午夜精产品一区二区在线观看的 | 毛片av在线播放 | 看黄色一级片 | 九九视频免费 | 在线中文字幕播放 | 亚洲19p| 特级做a爰片毛片免费69 | 日本三级456| 影音先锋婷婷 | 久色综| 亚洲精品网站在线观看 | 欧美福利一区二区三区 | 亚洲国产精品久久久久婷蜜芽 | 少妇太爽了 | 精品资源成人 | 中文亚洲av片在线观看 | 久久青青操 | 蜜臀av性久久久久av蜜臀妖精 | 日韩xxx高潮hd | 男同精品 | 天堂视频一区 | 欧美日韩人妻精品一区二区三区 | 国产日韩欧美在线观看视频 | 成人免费看片又大又黄 | 九色九一 | 都市激情 亚洲 |