CodeForces 51

死亡

ox----

484pt(275位).

流れ

A見る。お!実装。(8分)

Bチラ見する。BNFはやめろ!!!!!!閉じる。

C見る。なんか解けそう。早くも通してる人いるし簡単なのかも!

 計算量どうすればいいんや・・・。悩む。

 いろいろな方法で実装するもサンプル通らないしで二時間経過

 ちくしょう!

Bもう一度見る。深呼吸して実装に取り掛かる。嫌な予感がしつつも、木がひとつ・分岐がばらつかないこと前提で解いたりした。(時間が無いし、入力が親切な可能性を期待した。正方形な感じにしか与えられない的なこと書いてたし。)

10分間暇だったので他人のBソース見てハックしようとするもInvalidばっかで結局何もできず。下手にhack失敗してたらそれこそ死亡フラグでしかないから結果的にはよかったけど。

それ以外見てない。2時間半あったのに・・・。

ソースコード

A。結構シンプルに書いたつもり。4コだから一行として扱えるのが嬉しかった。本番提出したやつをちょっと短くした。

vector<string> data;
bool exist(string s){
	string X = s+s;
	rep(i,data.size())if(~X.find(data[i]))return 0;
	data.push_back(s);
	return 1;
}
int main(){
	int n; cin >> n;
	int ret = 0;
	rep(z,n){
		string a,b;
		cin >> a >> b;
		reverse(all(b));
		ret += exist(a+b);
		if(!(cin >> b))break;
	}
	cout << ret << endl;
}

結果

まあBはシステムテスト落ちました…。現実は甘くなかった。

最初に書いたからレートの変動だけ。

15661512

こんなんじゃ競技になんないよ~(棒読み)