結果

問題 No.351 市松スライドパズル
ユーザー kimagureman
提出日時 2016-03-14 11:18:30
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 323 ms / 2,000 ms
コード長 662 bytes
コンパイル時間 1,367 ms
コンパイル使用メモリ 163,936 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-09-25 02:57:20
合計ジャッジ時間 5,464 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

typedef vector< pair<char, int> > CtrlInp;

int main(int argc, char** argv)
{
	int h, w, n; cin >> h >> w >> n;

	CtrlInp ctrl;
	ctrl.reserve( n );

	for (int ii=0; ii<n; ++ii) {
		char dir;
		int  num;
		cin >> dir >> num;
		ctrl.push_back( make_pair(dir, num) );
	}

	int col=0, row=0;
	CtrlInp::reverse_iterator ritr = ctrl.rbegin();
	for (; ritr!=ctrl.rend(); ++ritr) {
		if ( ritr->first == 'R' && ritr->second == row ) {
			col = (col+w-1) % w;
		}
		else if ( ritr->first == 'C' && ritr->second == col ) {
			row = (row+h-1) % h;
		}
	}

	cout << ((row+col)%2==0 ? "white" : "black") << endl;
	return 0;
}

0