結果
問題 |
No.351 市松スライドパズル
|
ユーザー |
|
提出日時 | 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 |
ソースコード
#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; }