Q: http://uva.onlinejudge.org/external/4/489.html
藉由這題來練習許久未用的STL
補充一下題目沒講的: 如果一個字母已經被猜過了,則再猜一次時,不管此字母為對或錯都不會被劃一橫
假設答案為cheese,則猜到c,h,e,s即可獲勝
很容易就想到用C++ STL中的set去做(set的不重複性真的很好用)
然後再利用map去記錄一個字母有沒有被猜過及被猜過後的狀態
要解出這題就相當容易了
先用一個set去存答案的字母集合
再用另一個set去存使用者猜的字母集合(猜中才丟到集合裡, 沒猜中就不要丟)
比對這兩個set的size就可以知道使用者有沒有贏得遊戲
文章標籤
全站熱搜