mikeguylol

Sunflowers

Jan 18th, 2022 (edited)
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.26 KB | None | 0 0
  1. // CCC 2018 J4/S2 - Sunflowers
  2.  
  3. public class Sunflower {
  4.     public static int[][] rotate(int[][] grid, int deg, int num) { // num: length of the 2d array
  5.         int[][] result = new int[num][num];
  6.         for (int i = 0; i < num; i++) {
  7.             for (int j = 0; j < num; j++) {
  8.                 if (deg == 90) {
  9.                     result[i][j] = grid[num - j - 1][i];
  10.                 } else if (deg == 180) {
  11.                     result[i][j] = grid[num - i - 1][num - j - 1];
  12.                 } else if (deg == 270) {
  13.                     result[i][j] = grid[j][num - i - 1];
  14.                 }
  15.             }
  16.         }
  17.         return result;
  18.     }
  19.    
  20.     public static void main(String[] args) {
  21.         int[][] arr = {{4, 3, 1}, {6, 5, 2}, {9, 7 ,3}}; // change the array as you like to test it out                
  22.         // remember to make sure that it has a valid answer though!
  23.         int min = arr[0][0];
  24.         int deg = 0;
  25.         if (min > arr[0][arr.length - 1]) {
  26.             min = arr[0][arr.length - 1];
  27.             deg = 270;
  28.         }
  29.         if (min > arr[arr.length - 1][arr.length - 1]) {
  30.             min = arr[arr.length - 1][arr.length - 1];
  31.             deg = 180;
  32.         }
  33.         if (min > arr[arr.length - 1][0]) {
  34.             min = arr[arr.length - 1][0];
  35.             deg = 90;
  36.         }
  37.         int[][] result;
  38.         result = rotate(arr, deg, arr.length);
  39.         for (int[] row : result) {
  40.             for (int n : row) {
  41.                 System.out.print(n + " ");
  42.             }
  43.             System.out.println();
  44.         }
  45.     }
  46. }
Add Comment
Please, Sign In to add comment