Hatena::Grouptopcoder

SRM diary(Sigmar)

SigmarのTopcoder SRM参加記録など雑記です。
社会人になってから競技プログラミングを始めました。どこまで行けるか分かりませんが合間を見つけてアルゴリズムの勉強をしています。

2011-06-19TCO2011 Round1

TCO2011 Round1 250 TripleStrings

| 17:19 | TCO2011 Round1 250 TripleStrings - SRM diary(Sigmar) を含むブックマーク はてなブックマーク - TCO2011 Round1 250 TripleStrings - SRM diary(Sigmar) TCO2011 Round1 250 TripleStrings - SRM diary(Sigmar) のブックマークコメント

Problem Statement

コーディングフェーズ

どう見てもBとCをそれぞれo専用とx専用のバッファに使うだけ

initのsuffixとgoalのprefixが等しくなるまでBやCに詰め込めば良い

簡単だな

書いた→サンプル合わない

答えを2倍しないといけなかった(←ここで2箇所修正が必要なのに1箇所しか修正しなかった)

サンプル合った→出した


チャレンジフェーズ

何気なく開いた人のコードに、最後にinitの長さ*2を返すというのが見える

そういえば自分は最後にinitの長さを返していたような気がする

これは大丈夫なのか・・・

・・・

・・・

大丈夫ではない。{"xoxo", "xxoo"}で落ちる

まずい。

同じミスをしてる人を探す

いた。落とす

またいた。落とす。

合計5人落とした

最後時間なくて適当に投げたら2人ミスった。もったいなかった。

チャレンジ運が良かったから被害が少なく済んだけど、今回は非常に良くないミスをしてしまった。。。


ソースコード

修正済みコード

class TripleStrings {
public:
	int getMinimumOperations(string init, string goal) {
		int n=init.size();

		for(int i=0; i<n; i++) {
			if(init.substr(i)==goal.substr(0, n-i)) return i*2;
		}
		return n*2;//ここでreturn nにしていた
	}
}; 
トラックバック - http://topcoder.g.hatena.ne.jp/jackpersel/20110619