はまやんはまやんはまやん

hamayanhamayan's blog

Bus to Udayland [Codeforces 369 : Div2 A]

問題

http://codeforces.com/contest/711/problem/A

n行4列のバスの座席表がある。
'O'が空席、'X'が予約済み。
横に2つ並んで席が取れるか出力せよ。
なお、4列だが(2列)(道)(2列)であり、道をまたがっていると並んでいると言わない。
取れるなら、そこを'+'にした座席表も出力せよ。

1 <= n <= 10^3

考察

1. やるだけ

実装

http://codeforces.com/contest/711/submission/20229511

int N;
string B[1010];
//-----------------------------------------------------------------
bool solve() {
	rep(i, 0, N) {
		if (B[i][0] == 'O' && B[i][1] == 'O') {
			B[i][0] = '+';
			B[i][1] = '+';
			return true;
		}
		if (B[i][3] == 'O' && B[i][4] == 'O') {
			B[i][3] = '+';
			B[i][4] = '+';
			return true;
		}
	}
	return false;
}
//-----------------------------------------------------------------
int main() {
	cin >> N;
	rep(i, 0, N) cin >> B[i];

	if (solve()) {
		cout << "YES" << endl;
		rep(i, 0, N) cout << B[i] << endl;
	}
	else
	{
		cout << "NO" << endl;
	}
}