結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-12-01 18:28:08 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,971 bytes |
| コンパイル時間 | 2,556 ms |
| コンパイル使用メモリ | 78,376 KB |
| 実行使用メモリ | 58,208 KB |
| 最終ジャッジ日時 | 2024-11-22 08:39:55 |
| 合計ジャッジ時間 | 8,505 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 WA * 1 |
ソースコード
import java.util.Scanner;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
class A{
A() {}
int put[], draw[];
int n, m, turn, dir;
void proceed(){
turn = (turn+dir+n)%n;
}
void solve() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line[] = br.readLine().split(" ");
n = Integer.parseInt(line[0]);
m = Integer.parseInt(line[1]);
put = new int[n];
draw = new int[n];
int d2 = 0;
int d4 = 0;
turn = 0;
dir = 1;
String card;
while(m-- > 0){
card = br.readLine();
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) throws IOException{
new A().solve();
}
}