poj百煉 2801 填詞

2021-06-20 02:45:19 字數 1275 閱讀 8746

總time limit:

1000ms

memory limit:

65536kb

description

alex喜歡填詞遊戲。填詞是遊戲是乙個非常簡單的遊戲。填詞遊戲包括乙個n * m大小的矩形方格盤和p個單詞。玩家需要把每個方格中填上乙個字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件:

每個方格都不能同時屬於超過乙個的單詞。乙個長為k的單詞一定要佔據k個方格。單詞在方格盤中出現的方向只能是豎直的或者水平的。

你的任務是首先在方格盤上找到所有的單詞,當然在棋盤上可能有些方格沒有被單詞佔據。然後把這些沒有用的方格找出來,把這些方格上的字母按照字典序組成乙個「神秘單詞」。

如果你還不了解規則,我們可以具乙個例子,比如在下圖中尋找單詞beg和gee。

input

輸入的第一行包括三個整數n,m和p (2 <= m, n <= 10, 0 <= p <=100)。接下來的n行,每行包括m個字元,來表示方格盤。接下來p行給出需要在方格盤中找到的單詞。

輸入保證填詞遊戲至少有一組答案。

輸入中給出的字母都是大寫字母。

output

輸出「神秘單詞」,注意「神秘單詞」中的字母要按照字典序給出。

sample input

3 3 2

ebggee

egebeg

gee

sample output

eegthingking: 這題表示題目看了半天沒看懂,鄙人懷疑這題目的作者對問題沒有表述清楚或故意將問題描述複雜化來為難做題者(僅個人吐槽)。題目一開始介紹填詞遊戲,但關鍵是「神秘單詞」的有關話:你的任務是首先在方格盤上找到所有的單詞,當然在棋盤上可能有些方格沒有被單詞佔據。然後把這些沒有用的方格找出來,把這些方格上的字母按照字典序組成乙個'神秘單詞'。其中「當然在棋盤上可能有些方格沒有被單詞佔據。然後把這些沒有用的方格找出來」,表示這裡會給人誤解(僅個人感受)。只好看看教程上的解釋,其實題目意思可以理解為:輸入乙個單詞矩陣,再輸入p組單詞,從這個矩陣中去掉p組單詞(只需去掉字母就行,不需要學上圖裡面的按怎樣的順序找到單詞),再將剩下的字母按照字典序給出。

關鍵在於開個陣列a[26]儲存矩陣裡面各個字母出現的次數。

注意:1,字元陣列一定要開大點,儘管題目說了m(字元數)《10,但最少要開到100+

ac**:

#include

int main()

}while(p--)

for(i=0; i<26; i++)

printf("\n");

return 0;}

poj 百練 2801填詞

總時間限制 1000ms 記憶體限制 65536kb 描述 alex喜歡填詞遊戲。填詞是遊戲是乙個非常簡單的遊戲。填詞遊戲包括乙個n m大小的矩形方格盤和p個單詞。玩家需要把每個方格中填上乙個字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件 每個方格都不能同時屬於超過乙個的單詞。...

百練POJ 2801 填詞

分析 這道題的巧妙之處在於輸入保證填詞遊戲至少有一組答案 這說明我們不必尋找單詞所在的位置,只要去掉這些單詞所占用的字母就可以了。神秘單詞 按字典序給出,則只要定義乙個有26個元素的陣列,記錄每個字母出現的次數,當讀入單詞時,相應字母的元素值減一即可。最後將陣列中非0的元素對應字母一次輸出。注意 如...

POJ 百煉 保研機試 2801 填詞

總時間限制 1000ms 記憶體限制 65536kb 描述 alex喜歡填詞遊戲。填詞是遊戲是乙個非常簡單的遊戲。填詞遊戲包括乙個n m大小的矩形方格盤和p個單詞。玩家需要把每個方格中填上乙個字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件 每個方格都不能同時屬於超過乙個的單詞。...