結果
問題 | No.2432 Flip and Move |
ユーザー |
|
提出日時 | 2023-08-18 23:10:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,301 ms / 2,000 ms |
コード長 | 802 bytes |
コンパイル時間 | 947 ms |
コンパイル使用メモリ | 72,520 KB |
実行使用メモリ | 57,984 KB |
最終ジャッジ日時 | 2024-11-28 09:54:36 |
合計ジャッジ時間 | 9,784 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
#include<iostream> #include<vector> using namespace std; int main() { long long H,W,K; cin >> H >> W >> K; vector<vector<int>> m(H,vector<int>(W,0)); int x = 0,y = 0,dx = 1,dy = 1,t = 0; do { m[x][y] = 1-m[x][y]; if(x == 0 && dx == -1)dx = 1; else if(x == H-1 && dx == 1)dx = -1; else x += dx; if(y == 0 && dy == -1)dy = 1; else if(y == W-1 && dy == 1)dy = -1; else y += dy; t++; } while(x != 0 || y != 0 || m[0][0]); K %= t; while(K--) { m[x][y] = 1-m[x][y]; if(x == 0 && dx == -1)dx = 1; else if(x == H-1 && dx == 1)dx = -1; else x += dx; if(y == 0 && dy == -1)dy = 1; else if(y == W-1 && dy == 1)dy = -1; else y += dy; } for(int i=0;i<H;i++) { for(int j=0;j<W;j++)cout << (m[i][j]?'#':'.'); cout << endl; } }