Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.lang.Exception;
- class Patuvanje {
- String ime;
- int cena;
- Patuvanje(String ime, int cena)
- {
- this.ime=ime;
- this.cena=cena;
- }
- public int getCena(){return cena;}
- public int getPocetenMesec(){return 0;}
- public String getIme(){return ime;}
- public int vratiVremeVoDenovi(){return 0;}
- public static int minCena(Patuvanje[] niza, int n, Patuvanje zaSporedba)
- {
- int minimumCena=100000;
- int den=zaSporedba.vratiVremeVoDenovi();
- for (int i = 0; i < n; i++) {
- if (den < niza[i].vratiVremeVoDenovi()&&minimumCena > niza[i].getCena()) {
- minimumCena = niza[i].getCena();
- }
- }
- return minimumCena;
- }
- }
- class PraznicnoPatuvanje extends Patuvanje {
- int pocetenDatum;
- int kraenDatum;
- int pocetenMesec;
- int kraenMesec;
- PraznicnoPatuvanje(String ime, int cena, int pocetenDatum, int pocetenMesec, int kraenDatum, int kraenMesec)
- {
- super(ime,cena);
- try{
- if (pocetenMesec >kraenMesec)
- throw new Exception("mesec");
- else if (pocetenMesec==kraenMesec && pocetenDatum >kraenDatum)
- throw new Exception("den");
- else
- {
- this.pocetenDatum=pocetenDatum;
- this.pocetenMesec=pocetenMesec;
- this.kraenMesec=kraenMesec;
- this.kraenDatum=kraenDatum;
- }
- } catch (Exception obj)
- {
- System.out.println("Iskluchok");
- if (obj.getMessage() == "mesec")
- {
- this.pocetenDatum = kraenDatum;
- this.pocetenMesec= kraenMesec;
- this.kraenDatum = pocetenDatum;
- this.kraenMesec=pocetenMesec;
- }
- else
- {
- this.pocetenDatum=kraenDatum;
- this.pocetenMesec=pocetenMesec;
- this.kraenDatum=kraenDatum;
- this.kraenMesec=kraenMesec;
- }
- }
- }
- public int vratiVremeVoDenovi(){
- int i = 30 - pocetenDatum;
- i += (kraenMesec - pocetenMesec - 1) * 30;
- i += kraenDatum;
- return i;
- }
- public int getPocetenMesec(){return pocetenMesec;}
- }
- class GodishenOdmor extends Patuvanje {
- int vremetraenje;
- GodishenOdmor(String ime, int cena, int vremetraenje)
- {
- super(ime,cena);
- this.vremetraenje=vremetraenje;
- }
- public int vratiVremeVoDenovi()
- {
- return vremetraenje;
- }
- public int getCena()
- {
- return cena-1000;
- }
- }
- public class Test {
- public static void main(String[] args) {
- int n;
- Scanner in=new Scanner(System.in);
- n=in.nextInt();
- Patuvanje nizaPatuvanje[]=new Patuvanje[n];
- for (int i=0;i<n;i++){
- int tip=in.nextInt();
- if (tip==0){
- String ime=in.next();
- int cena =in.nextInt();
- int vreme=in.nextInt();
- nizaPatuvanje[i]=new GodishenOdmor(ime,cena,vreme);
- }
- else {
- String ime=in.next();
- int cena =in.nextInt();
- int pocD=in.nextInt();
- int pocM=in.nextInt();
- int krajD=in.nextInt();
- int krajM=in.nextInt();
- nizaPatuvanje[i]=new PraznicnoPatuvanje(ime,cena,pocD,pocM, krajD,krajM);
- }
- }
- //решение на барање 1
- for (int i = 0; i < nizaPatuvanje.length; i++) {
- if (nizaPatuvanje[i].getPocetenMesec() == 6) {
- System.out.print(nizaPatuvanje[i].getIme() + " ");
- }
- }
- System.out.println("");
- //решение на барање 2
- int s = 0;
- for (int i = 0; i < nizaPatuvanje.length; i++) {
- s += nizaPatuvanje[i].vratiVremeVoDenovi();
- }
- float pros = (float) s / nizaPatuvanje.length;
- System.out.println(pros);
- //решение на барање 3
- String ime = in.next();
- int cena = in.nextInt();
- int vreme = in.nextInt();
- GodishenOdmor odmor = new GodishenOdmor(ime, cena, vreme);
- //решение на барање 4
- int minCena = Patuvanje.minCena(nizaPatuvanje, nizaPatuvanje.length, odmor);
- System.out.println(minCena);
- }
- }
Add Comment
Please, Sign In to add comment