2016年8月26日 星期五

(Codeforces) 623A. Graph and String

http://codeforces.com/problemset/problem/623/A

solution : http://codeforces.com/contest/623/submission/20080880

題目大意:有一個人,他先寫下一個長度n(1<=n<=500)的字串,裡面只包含'a' , 'b' , 'c'。接下來,他把字串中的每個字元視為一個節點,字元符合下面的情況時,會建邊:'a' - 'a' , 'b' - 'b' , 'c' - 'c' , 'a' - 'b' , 'b' - 'c' (也就是說,只要兩個點相等時 or 字母表的相鄰兩個點) 。畫完圖後,他就把字串給擦掉了。 隔天,他的朋友看到這張圖,他的朋友希望她能看到原本的字串。 請你給出任意一組合法解。

可以先注意到的兩個特性:(1) 'b'可以與任意相接 (2) 'a' - 'c'不相連。

接下來,我們就尋找每個不相連的邊,一個設定成'a',另外一個設定成'c',其他如果不相關的通通設定成'b'。如果在過程中,發現有矛盾的情況,那就是不可能發生。

沒有留言:

張貼留言