結果
問題 | No.769 UNOシミュレータ |
ユーザー |
|
提出日時 | 2019-01-02 23:53:50 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,081 bytes |
コンパイル時間 | 620 ms |
コンパイル使用メモリ | 85,340 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-24 09:13:01 |
合計ジャッジ時間 | 2,490 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 WA * 1 |
ソースコード
#include <limits>#include <iostream>#include <algorithm>#include <vector>#include <iomanip>#include <map>#include <queue>static const int MOD = 1000000007;using ll = long long;using u32 = unsigned;using namespace std;template<class T>constexpr T INF = ::numeric_limits<T>::max() / 32 * 15 + 208;int main() {int n, m;cin >> n >> m;vector<int> v(n, 0);int cur = 0, go = 1, yama1 = 0, yama2 = 0;for (int i = 0; i < m; ++i) {string s;cin >> s;if(yama1 && s != "drawtwo"){v[(cur+n)%n] -= yama1;cur = (cur+go+n) %n;yama1 = 0;}if(yama2 && s != "drawfour"){v[(cur+n)%n] -= yama2;cur = (cur+go+n) %n;yama2 = 0;}v[cur]++;if(s == "skip") cur = (cur+go+n) %n;else if(s == "reverse") go = -go;else if(s == "drawtwo") yama1+= 2;else if(s == "drawfour") yama2+= 4;cur = (cur+go+n) %n;}cout << (cur+n-go)%n+1 << " " << v[(cur+n-go)%n] << "\n";return 0;}