// 2023 IUSB Programming Competition // Round 2 Problem 2 // Word Search // Solution by Liguo Yu import java.util.Scanner; public class round2_p2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); String word = input.nextLine(); int x = input.nextInt(); int y = input.nextInt(); char[][] array = new char[x][y]; for (int i=0; i=0; j--) { s = s + array[m][j]; } if(s.contains(word)) return true; //vertically downward s = new String(); for (int i=m; i=0; i--) { s = s + array[i][n]; } if(s.contains(word)) return true; // diagonally: /up s = new String(); int i = m; int j = n; while(i >= 0 && j < y) { s = s + array[i][j]; i--; j++; } if(s.contains(word)) return true; // diagonally: /down s = new String(); i = m; j = n; while(i < x && j >= 0) { s = s + array[i][j]; i++; j--; } if(s.contains(word)) return true; // diagonally: up s = new String(); i = m; j = n; while(i >= 0 && j >= 0) { s = s + array[i][j]; i--; j--; } if(s.contains(word)) return true; // diagonally: \down s = new String(); i=m; j = n; while(i < x && j < y) { s = s + array[i][j]; i++; j++; } if(s.contains(word)) return true; return false; } }