結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-12-01 18:23:18 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,734 bytes |
| コンパイル時間 | 2,278 ms |
| コンパイル使用メモリ | 79,340 KB |
| 実行使用メモリ | 66,768 KB |
| 最終ジャッジ日時 | 2024-11-22 08:40:11 |
| 合計ジャッジ時間 | 13,809 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 WA * 1 |
ソースコード
import java.util.Scanner;
class A{
A() {}
int put[], draw[];
int n, m, turn, dir;
void proceed(){
turn = (turn+dir+n)%n;
}
void solve(){
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
put = new int[n];
draw = new int[n];
int d2 = 0;
int d4 = 0;
turn = 0;
dir = 1;
String card;
while(m-- > 0){
card = sc.next();
if(d2 > 0 && card.equals("drawtwo")){
d2++;
put[turn]++;
proceed();
continue;
}
if(d4 > 0 && card.equals("drawfour")){
d4++;
put[turn]++;
proceed();
continue;
}
if(d2 > 0){
draw[turn] += 2*d2;
d2 = 0;
proceed();
}
if(d4 > 0){
draw[turn] += 4*d4;
d4 = 0;
proceed();
}
put[turn]++;
if(card.equals("drawtwo")){
d2++;
}else if(card.equals("drawfour")){
d4++;
}else if(card.equals("skip")){
proceed();
}else if(card.equals("reverse")){
dir *= -1;
}else if(card.equals("number")){
// do nothing.
}
proceed();
}
turn = (turn-dir+n)%n;
System.out.println((turn+1) + " " + (put[turn]-draw[turn]));
}
}
class Main{
public static void main(String[] args){
new A().solve();
}
}