結果
| 問題 |
No.102 トランプを奪え
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-05-18 22:13:18 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 148 ms / 5,000 ms |
| コード長 | 2,342 bytes |
| コンパイル時間 | 3,321 ms |
| コンパイル使用メモリ | 77,928 KB |
| 実行使用メモリ | 54,216 KB |
| 最終ジャッジ日時 | 2024-10-06 05:41:34 |
| 合計ジャッジ時間 | 5,604 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 8 |
ソースコード
import java.util.*;
public class Main_yukicoder102 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n1 = sc.nextInt();
int n2 = sc.nextInt();
int n3 = sc.nextInt();
int n4 = sc.nextInt();
boolean dp[][][][] = new boolean[n1 + 1][n2 + 1][n3 + 1][n4 + 1];
for (int i1 = 0; i1 <= n1; i1++) {
for (int i2 = 0; i2 <= n2; i2++) {
for (int i3 = 0; i3 <= n3; i3++) {
for (int i4 = 0; i4 <= n4; i4++) {
if (i1 == 0 && i2 == 0 && i3 == 0 && i4 == 0) {
dp[i1][i2][i3][i4] = false;
} else {
boolean flag = false;
for (int d1 = 1; d1 <= 3; d1++) {
if (i1 - d1 < 0) {
break;
}
if (!dp[i1 - d1][i2][i3][i4]) {
flag = true;
break;
}
}
for (int d2 = 1; d2 <= 3; d2++) {
if (i2 - d2 < 0) {
break;
}
if (!dp[i1][i2 - d2][i3][i4]) {
flag = true;
break;
}
}
for (int d3 = 1; d3 <= 3; d3++) {
if (i3 - d3 < 0) {
break;
}
if (!dp[i1][i2][i3 - d3][i4]) {
flag = true;
break;
}
}
for (int d4 = 1; d4 <= 3; d4++) {
if (i4 - d4 < 0) {
break;
}
if (!dp[i1][i2][i3][i4 - d4]) {
flag = true;
break;
}
}
dp[i1][i2][i3][i4] = flag;
}
}
}
}
}
if (dp[n1][n2][n3][n4]) {
System.out.println("Taro");
} else {
System.out.println("Jiro");
}
sc.close();
}
}