算典03 習題 06

2021-07-26 22:47:39 字數 1026 閱讀 5124

有一張圖上,有黑塊和白塊,白塊上有字母

從上到下每一行,從左到右,給符合條件的白塊依次編號,條件是:此白塊的左邊或上邊是邊界或黑塊

要求找到每一行的單詞(按上面編好的號排序)和每一列的單詞輸出,單詞即為最大連續的白塊

只要單純地模擬即可,注意最後的輸出要按編號排序,且編號要右對齊,這裡編號不會超過100;

找每列的單詞時用乙個標記陣列,也是每一行地遍歷即可

#include 

#include

#include

using

namespace

std;

const

int maxn = 1e1 +5;

#define met(a,b) memset(a, b, sizeof(a));

int n, m;

char s[maxn][maxn];

int maps[maxn][maxn];

int id;

void set(int i, int j)

}int main()

}for(int i = 0; i < n; ++i)

}if(line) printf("\n");

if(!line) line = 1;

printf("puzzle #%d:\nacross\n", ++kase);

for(int i = 0; i < n; ++i)

printf("\n");

}else ++j;}}

printf("down\n");

bool vis[maxn][maxn]; met(vis, 0);

for(int i = 0; i < n; ++i)

printf("\n");

}else ++j;}}

}return

0;}

算典03 習題 07

給出一組dna序列 即一些字串 找出與每個dna序列的差最小的dna序列 差的意思是序列中位置相同但字元不同的位置的個數 輸出這個dna序列以及最小的差 1.準備 這裡有乙個小技巧,dna只有 atcg 四種,要統計這四種出現的次數,就需要一種對應關係,如讓atcg分別對應0123,那麼我就可能用a...

算典03 習題 12

這題我不會做,參考的大神的思路 傳送門浮點數在計算機裡是分三部分表示的 最前面一位表示符號,後面一部分是尾數,最後一部分是階碼 尾數是m,階碼是e的話表示起來就是 m 2e 1 2 m 1 用二進位制表示m的話就應該是0.1xx 用計算機表示的時候就把最前面的 0.1 給省略掉,只表示可能變化的部分...

算典04 習題 08

課堂上有n個學生 n 10 每個學生都有乙個 睡眠 清醒 週期,其中第i個學生醒ai 分鐘後睡bi 分鐘,然後重複 1 ai bi 5 初始時第i個學生處在他的週期的第ci 分鐘。每個學生在臨睡前會察看全班睡覺人數是否嚴格大於清醒人數,只有這個條件滿足時才睡覺,否則就堅持聽課ai 分鐘後再次檢查這個...