Q: http://uva.onlinejudge.org/external/4/489.html

 

藉由這題來練習許久未用的STL

補充一下題目沒講的: 如果一個字母已經被猜過了,則再猜一次時,不管此字母為對或錯都不會被劃一橫

 

假設答案為cheese,則猜到c,h,e,s即可獲勝

很容易就想到用C++ STL中的set去做(set的不重複性真的很好用)

然後再利用map去記錄一個字母有沒有被猜過及被猜過後的狀態

要解出這題就相當容易了

 

先用一個set去存答案的字母集合

再用另一個set去存使用者猜的字母集合(猜中才丟到集合裡, 沒猜中就不要丟)

比對這兩個set的size就可以知道使用者有沒有贏得遊戲

 

 

 

arrow
arrow
    文章標籤
    UVA ACM STL 程式
    全站熱搜

    Tube 發表在 痞客邦 留言(0) 人氣()