Advertisement
fensa08

[APS] Kolokvium 1 - Avtobus

Nov 15th, 2019
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.96 KB | None | 0 0
  1. Автобус Problem 5 (0 / 0)
  2.  
  3. На автобуската станица во ФинТаун имало N возрасни и M деца кои што сакале да патуваат заедно за соседниот град МинТаун. Цената на еден билет е 100 денари. Ако некој возрасен сака да патува со k деца, треба да плати еден билет за него и k-1 билети за децата (за едно дете не мора да плаќа билет). Исто така, возрасен може да се вози и сам, во тој случај ќе си плати еден билет за него. Дополнително знаеме дека децата не можат да се возат без да се придружени од некој возрасен. Во првиот ред од влезот е даден бројот N. Во вториот ред е даден бројот M. Потребно е да пресметате колкав е минималниот и максималниот број на денари што може да ги платат патниците за билети и да ги испечатите во две линии. Во автобусот ќе има најмалку еден возрасен.
  4.  
  5. Име на класата: Bus
  6. =======================================================================================================================================
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.InputStreamReader;
  10.  
  11. public class Bus {
  12.  
  13.     public static void main(String[] args) throws Exception {
  14.         int i,j,k;
  15.  
  16.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  17.  
  18.         int vozrasni = Integer.parseInt(br.readLine());
  19.         int M = Integer.parseInt(br.readLine());
  20.         int min = 0;
  21.         int max= 0;
  22.        
  23.         boolean flag= true;
  24.         if(M == 0){
  25.             System.out.println(vozrasni*100 + "\n" +vozrasni*100 );
  26.             flag = false;
  27.         }
  28.        
  29.         // go naogjame najmaliot broj na deca sto treba da zemat vozrasnite
  30.         // najMalkuDeca = Deca/Vozasni ( ova cel broj)
  31.         // ostatokot go dodavame, bidejki ne menuva dali kje se zastedi/potrosi za krata
  32.        if(vozrasni < M && flag) {
  33.            int deca = M / vozrasni;
  34.            int ostatok  = M % vozrasni;
  35.  
  36.            for(i = 0; i < vozrasni; i++){
  37.                min += 100;
  38.                for( j = 0 ; j < deca - 1; j++)
  39.                    min += 100;
  40.            }
  41.            min += 100*ostatok;
  42.    }
  43.         // sekoj vozrasen zima po 1 dete, za da ne plati karta za nego, uslovot e (k-1) za deca
  44.        if(vozrasni > M && flag){
  45.             min = (vozrasni - M)*100 + M*100;
  46.        }
  47.         br.close();
  48.  
  49.      
  50.         if(flag){
  51.             max = (vozrasni - 1) * 100 + 100 + 100*(M-1);
  52.             System.out.println(min + "\n" + max);
  53.  
  54.         }
  55.     }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement