topcoder SRM 618 DIV2 LongWordsDiv2

OpenSoucre發表於2014-06-16

此題給出的條件是:

(1)word的每個字母都是大寫字母(此條件可以忽略,題目給的輸入都是大寫字母)

(2) 相等字元不能連續,即不能出現AABC的連續相同的情況

(3)word中不存在字母組成xyxy的形式,即不存在第一個字元和第3個字元相等同時第2個字元和第4個字元相等的情況

對於第(2)種情況,只需要考慮word[i]!=word[i-1]即可

對於第(3)種情況,用一個4重迴圈遍歷每種可能的情況,然後第一個字元和第3個字元相等同時第2個字元和第4個字元相等,則輸出“DisLikes”即可

    string find(string word) {
        for(int i = 1; i < word.size(); ++ i)
            if( word[i] == word[i-1] ) return "Dislikes";
        for(int i= 0 ; i < word.size(); ++ i){
            for(int j = i+1; j < word.size(); ++ j){
                for(int p = j + 1; p < word.size(); ++ p){
                    for(int q = p + 1; q < word.size(); ++ q){
                        if(word[i] == word[p] && word[j] == word[q]) return "Dislikes";
                    }
                }
            }
        }
        return "Likes";
    }

 

相關文章