Zeshin

OOP_04

Apr 9th, 2021
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. import java.util.*;
  2. public class OOP_04 {
  3.     public static void main(String[] args) {
  4.         Scanner scan = new Scanner(System.in);
  5.         String choice = scan.nextLine();
  6.         String[] numbers = choice.split(" ");
  7.         int[][] matrix = new int[Integer.parseInt(numbers[0])][Integer.parseInt(numbers[1])];
  8.  
  9.  
  10.         for(int i =0;i<matrix.length;i++){
  11.             String input = scan.nextLine();
  12.             String[] nums = input.split(" ");
  13.             for(int j=0;j<matrix[0].length;j++){
  14.                 matrix[i][j] = Integer.parseInt(nums[j]);
  15.             }
  16.         }
  17.         if(checkTicket(matrix)){
  18.             System.out.println("YES");
  19.             System.out.print("The amount of money won is: "+getPrize(matrix));
  20.         }else{
  21.             System.out.println("NO");
  22.         }
  23.     }
  24.  
  25.  
  26.     public static boolean checkTicket(int[][] matrix){
  27.        int sum_mainDiagonal = 0;
  28.        int sum_secondDiagonal = 0;
  29.        int sum_up = 0;
  30.        int sum_down = 0;
  31.  
  32.        for(int i =0;i<matrix.length;i++){
  33.            sum_mainDiagonal+=matrix[i][i];
  34.        }
  35.  
  36.         for(int i =matrix.length-1;i>-1;i--){
  37.             sum_secondDiagonal+=matrix[i][i];
  38.         }
  39.  
  40.  
  41.         for(int i =0;i<matrix.length;i++){
  42.             for(int j =1+i;j<matrix[i].length;j++){
  43.                 sum_up+=matrix[i][j];
  44.             }
  45.         }
  46.  
  47.         for(int i =matrix.length-1;i>-1;i--){
  48.             for(int j =i-1;j>-1;j--){
  49.                 sum_down+=matrix[i][j];
  50.             }
  51.         }
  52.  
  53.  
  54.         if(sum_mainDiagonal == sum_secondDiagonal){
  55.             return true;
  56.         }
  57.         if(sum_up % 2 ==0){
  58.             return true;
  59.         }
  60.         if(sum_down % 2 !=0){
  61.             return true;
  62.         }
  63.  
  64.         return false;
  65.     }
  66.  
  67.  
  68.     public static double getPrize(int[][] matrix){
  69.         double sum_mainDiagonal = 0;
  70.         double sum_down = 0;
  71.         double outer_col = 0;
  72.         double outer_row = 0;
  73.         double average =0;
  74.  
  75.         for(int i =0;i<matrix.length;i++){
  76.             if(matrix[i][i] % 2 == 0){
  77.                 sum_mainDiagonal+=matrix[i][i];
  78.             }
  79.         }
  80.  
  81.         for(int i=0; i<matrix.length;i=i+matrix.length-1){
  82.             for(int j =0;j<matrix[i].length;j++){
  83.                 if(matrix[i][j] % 2 == 0){
  84.                     outer_row+=matrix[i][j];
  85.                 }
  86.             }
  87.         }
  88.  
  89.         for(int i=0; i<matrix[0].length;i=i+matrix.length-1){
  90.             for(int j =0;j<matrix.length;j++){
  91.                 if(matrix[j][i] % 2 != 0){
  92.                     outer_col+=matrix[j][i];
  93.                 }
  94.             }
  95.         }
  96.  
  97.         for(int i =matrix.length-1;i>-1;i--){
  98.             for(int j =i-1;j>-1;j--){
  99.                 sum_down+=matrix[i][j];
  100.             }
  101.         }
  102.         average = (sum_down + sum_mainDiagonal + outer_col + outer_row) / 4;
  103.         double rounded = Math.round(average * 100) / 100;
  104.         return rounded;
  105.     }
  106.  
  107. }
  108.  
Advertisement
Add Comment
Please, Sign In to add comment