切換
舊版
前往
大廳
主題

ZeroJudge - e839: P6. 飲食分類 (Food) 解題心得

Not In My Back Yard | 2020-03-19 00:00:01 | 巴幣 2 | 人氣 172

題目連結:


題目大意:
第一列給定一正整數 N (1 ≦ N ≦ 50),代表有 N 個食物。接著有 N 列輸入,每列給定兩字串 F 、 S (兩者不含空格,且不超過 15 個字元),代表一個食物名為 F ,其食物種類為 S 。

最後一列給定一字串 C (同樣不含空格也部會超過 15 個字元)。試問這 N 個食物有多少的屬於種類 C ?有的話,依照字典序輸出各項食物;若無,則輸出「No」。



範例輸入:
範例輸入一:
2
apple fruit
milk drink
grains

範例輸入二:
5
pork meat
tea drink
fish meat
rice grains
beef meat
meat


範例輸出:
範例輸出一:
No

範例輸出二:
beef
fish
pork


解題思維:
因為 N 值不大,所以可以採取較原始的做法:
用一個字串陣列代表種類,每遇到新種類(不在現有陣列裡)就加進去,且每個位置都附加一個各自的字串陣列,代表底下的所屬食物。接著碰到種類 C 就一一找到種類,有找到表示其下一定有食物屬於該種類,就排序後輸出;反之,找不到的話就輸出「No」。

至於若 N 值較大的話可以使用像是底下程式碼裡寫的架構。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作