aboutsummaryrefslogtreecommitdiff
path: root/challenge-335/deadmarshal/java/Ch2.java
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-08-19 11:51:31 +0100
committerGitHub <noreply@github.com>2025-08-19 11:51:31 +0100
commit0996f8776b6c0605fc2f86aec8f282f3039e3f2d (patch)
tree3afbf32f8056f6b2a07219faac48554971aedbbe /challenge-335/deadmarshal/java/Ch2.java
parent7fd9fed27ae27bf64abe580eebc14e0b148eed79 (diff)
parente8aeeee6722902fd02c0c6ba244738acac8fa983 (diff)
downloadperlweeklychallenge-club-0996f8776b6c0605fc2f86aec8f282f3039e3f2d.tar.gz
perlweeklychallenge-club-0996f8776b6c0605fc2f86aec8f282f3039e3f2d.tar.bz2
perlweeklychallenge-club-0996f8776b6c0605fc2f86aec8f282f3039e3f2d.zip
Merge pull request #12547 from deadmarshal/TWC335
TWC335
Diffstat (limited to 'challenge-335/deadmarshal/java/Ch2.java')
-rw-r--r--challenge-335/deadmarshal/java/Ch2.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-335/deadmarshal/java/Ch2.java b/challenge-335/deadmarshal/java/Ch2.java
new file mode 100644
index 0000000000..ef3c59fa07
--- /dev/null
+++ b/challenge-335/deadmarshal/java/Ch2.java
@@ -0,0 +1,28 @@
+public class Ch2 {
+ public static void main(String[] args) {
+ System.out.println(find_winner(new int[][]{{0, 0}, {2, 0},
+ {1, 1}, {2, 1}, {2, 2}}));
+ System.out.println(find_winner(new int[][]{{0, 0}, {1, 1}, {0, 1}, {0, 2}
+ , {1, 0}, {2, 0}}));
+ System.out.println(find_winner(new int[][]{{0, 0}, {1, 1}, {2, 0}, {1, 0},
+ {1, 2}, {2, 1}, {0, 1}, {0, 2}, {2, 2}}));
+ System.out.println(find_winner(new int[][]{{0, 0}, {1, 1}}));
+ System.out.println(find_winner(new int[][]{{1, 1}, {0, 0}, {2, 2}, {0, 1},
+ {1, 0}, {0, 2}}));
+ }
+
+ private static String find_winner(int[][] moves) {
+ int[] cnt = new int[8];
+ for (int k = moves.length - 1; k >= 0; k -= 2) {
+ int i = moves[k][0], j = moves[k][1];
+ cnt[i]++;
+ cnt[j + 3]++;
+ if (i == j) cnt[6]++;
+ if (i + j == 2) cnt[7]++;
+ if (cnt[i] == 3 || cnt[j + 3] == 3 || cnt[6] == 3 || cnt[7] == 3)
+ return k % 2 == 0 ? "A" : "B";
+ }
+ return moves.length == 9 ? "Draw" : "Pending";
+ }
+}
+