Advertisement
Guest User

Untitled

a guest
Apr 9th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.16 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3.  
  4. public class C0157_Easy {
  5.  
  6.     private static final int[][] wins = new int[][] {   {0, 1, 2}, {3, 4, 5}, {6, 7, 8}, {0, 3, 6}, {1, 4, 7}, {2, 5, 8}, {0, 4, 8}, {2, 4, 6} };
  7.    
  8.     public static void main(String[] args) {
  9.         boolean hasPrinted = false;
  10.         int w = 0;
  11.         String[] lines = getInput();
  12.         String s = "";
  13.         for(int i = 1; i < lines.length; i++)   s += lines[i];
  14.         for(int i = 0; i < wins.length; i++){
  15.             if(s.charAt(wins[i][0]) == lines[0].charAt(0) && s.charAt(wins[i][1]) == lines[0].charAt(0) && s.charAt(wins[i][2]) != lines[0].charAt(0) && s.charAt(wins[i][2]) == '-'){
  16.                 w++;
  17.                 printBoard(s.substring(0, wins[i][2]) + lines[0].charAt(0) + s.substring(wins[i][2]+1, s.length()), w);
  18.                 hasPrinted = true;
  19.                
  20.             } else if(s.charAt(wins[i][0]) == lines[0].charAt(0) && s.charAt(wins[i][1]) != lines[0].charAt(0) && s.charAt(wins[i][2]) == lines[0].charAt(0) && s.charAt(wins[i][1]) == '-'){
  21.                 w++;
  22.                 printBoard(s.substring(0, wins[i][1]) + lines[0].charAt(0) + s.substring(wins[i][1]+1, s.length()), w);
  23.                 hasPrinted = true;
  24.             } else if(s.charAt(wins[i][0]) != lines[0].charAt(0) && s.charAt(wins[i][1]) == lines[0].charAt(0) && s.charAt(wins[i][2]) == lines[0].charAt(0) && s.charAt(wins[i][0]) == '-'){
  25.                 w++;
  26.                 printBoard(s.substring(0, wins[i][0]) + lines[0].charAt(0) + s.substring(wins[i][0]+1, s.length()), w);
  27.                 hasPrinted = true;
  28.             }
  29.         }
  30.         if(!hasPrinted) System.out.println("No possible winning moves were found.");
  31.         System.out.println("A total of " + w + " possible winning moves were found.");
  32.     }
  33.    
  34.     private static void printBoard(String s, int n){
  35.         System.out.println(" " + s.substring(0, 3) + " ");
  36.         System.out.println(" " + s.substring(3, 6) + " ");
  37.         System.out.println(" " + s.substring(6, 9) + " ");
  38.         System.out.println("-----");
  39.     }
  40.    
  41.     private static String[] getInput(){
  42.         String[] lines = new String[4];
  43.         Scanner in = new Scanner(System.in);
  44.         for(int i = 0; i < lines.length; i++){
  45.             System.out.print("Line " + i + ": ");
  46.             lines[i] = in.nextLine();
  47.             if(i < 1){
  48.                 if(lines[i].length() != 1)  i--;
  49.             } else{
  50.                 if(lines[i].length() != 3)  i--;
  51.             }
  52.         }
  53.         return lines;
  54.     }
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement