結果
問題 | No.769 UNOシミュレータ |
ユーザー |
|
提出日時 | 2019-04-26 20:04:34 |
言語 | Java (openjdk 23) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,411 bytes |
コンパイル時間 | 4,145 ms |
コンパイル使用メモリ | 77,816 KB |
実行使用メモリ | 56,516 KB |
最終ジャッジ日時 | 2024-11-22 09:18:30 |
合計ジャッジ時間 | 14,899 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 WA * 1 |
ソースコード
import java.io.*;import java.util.Scanner;public class Main_yukicoder769 {private static Scanner sc;private static Printer pr;private static void solve() {int n = sc.nextInt();int m = sc.nextInt();int[] num = new int[n];int win = 0;int d = 1;int dup = 0;String prev = "";for (int i = 0; i < m; i++) {String l = sc.next();if (prev.equals("drawtwo") && !l.equals(prev)) {num[win] += 2 * dup;dup = 0;win += d;} else if (prev.equals("drawfour") && !l.equals(prev)) {num[win] += 4 * dup;dup = 0;win += d;}win = (win + n) % n;switch (l) {case "number":num[win]--;win += d;break;case "drawtwo":num[win]--;dup++;win += d;break;case "drawfour":num[win]--;dup++;win += d;break;case "skip":num[win]--;win += 2 * d;break;case "reverse":num[win]--;d = -d;win += d;break;}win = (win + n) % n;prev = l;}win -= d;win = (win + n) % n;pr.printf("%d %d%n", win + 1, -num[win]);}// ---------------------------------------------------public static void main(String[] args) {sc = new Scanner(System.in);pr = new Printer(System.out);solve();pr.close();sc.close();}static class Printer extends PrintWriter {Printer(OutputStream out) {super(out);}}}