kolevra

forEqualPairs

Feb 2nd, 2023 (edited)
990
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.62 KB | None | 1 0
  1. package PBMoreExercises;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class moreFor08EqualPairs {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         int n = Integer.parseInt(scanner.nextLine());
  10.  
  11.         int firstPairSum = 0;
  12.         int secondPairSum = 0;
  13.         int maxDiff = 0;
  14.         String equalPairs = "";
  15.  
  16.         // Според мен по задание не трябва да има n == 1, защото тогава вече не говорим за сравнение на няколко двойки числа, а просто две числа.
  17.         // За да мине през judge все пак добавих тази проверка.
  18.  
  19.         if (n == 1) {
  20.             int pairNumber1 = Integer.parseInt(scanner.nextLine());
  21.             int pairNumber2 = Integer.parseInt(scanner.nextLine());
  22.  
  23.             if (pairNumber1 == pairNumber2) {
  24.                 System.out.printf("Yes, value=%d", pairNumber1 + pairNumber2);
  25.             } else {
  26.                 System.out.printf("No, maxdiff=%d", Math.abs(pairNumber1 - pairNumber2));
  27.             }
  28.  
  29.         } else {
  30.  
  31.             for (int i = 1; i <= n; i++) {      // Тук започва реалното условие. Едно минаване на цикъла чете 2 числа, всяка двойка.
  32.  
  33.                 if (i > 2) {
  34.                     firstPairSum = secondPairSum;       // От 3-то завъртане, бившата 2-ра двойка става 1-ва, а актуалната за проверка ще е новата 2-ра.
  35.                 }
  36.  
  37.                 if (i == 1) {
  38.  
  39.                     int pairNumber1 = Integer.parseInt(scanner.nextLine());
  40.                     int pairNumber2 = Integer.parseInt(scanner.nextLine());
  41.  
  42.                     firstPairSum = pairNumber1 + pairNumber2;
  43.  
  44.                 } else if (i == 2) {
  45.  
  46.                     int pairNumber1 = Integer.parseInt(scanner.nextLine());
  47.                     int pairNumber2 = Integer.parseInt(scanner.nextLine());
  48.  
  49.                     secondPairSum = pairNumber1 + pairNumber2;
  50.  
  51.                 } else {        // От 3-то завъртане сумираме само във secondPairSum, защото firstPairSum сме я актуализирали на ред 34.
  52.  
  53.                     int pairNumber1 = Integer.parseInt(scanner.nextLine());
  54.                     int pairNumber2 = Integer.parseInt(scanner.nextLine());
  55.  
  56.                     secondPairSum = pairNumber1 + pairNumber2;
  57.  
  58.                 }
  59.  
  60.                 if (i >= 2 && firstPairSum == secondPairSum && !equalPairs.equals("False")) {   // Трябват 2 двойки, за да ги сравним && трябва да са равни
  61.                                                                                                 // && ако веднъж е станало False, трябва да си остане False.
  62.                     equalPairs = "True";
  63.                 } else if (i >= 2) {            // Трябват 2 двойки, за да ги сравним && на ред 60 не са изпълнили да са равни.
  64.                     equalPairs = "False";
  65.                 }
  66.  
  67.                 if (i >= 2 && Math.abs(firstPairSum - secondPairSum) > maxDiff) {
  68.  
  69.                     maxDiff = Math.abs(firstPairSum - secondPairSum);
  70.                 }
  71.  
  72.             }
  73.  
  74.             if (equalPairs.equals("True")) {
  75.                 System.out.printf("Yes, value=%d", secondPairSum);
  76.             } else {
  77.                 System.out.printf("No, maxdiff=%d", maxDiff);
  78.             }
  79.  
  80.         }
  81.  
  82.     }
  83.  
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment