kacci97

патување

Oct 17th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. class MyException extends Exception{
  4.  
  5. MyException(){
  6.  
  7. }
  8. MyException(String s){
  9. System.out.println(s);
  10. }
  11. }
  12.  
  13. class Patuvanje{
  14. String agencija;
  15. int cena;
  16.  
  17. public Patuvanje() {
  18. }
  19.  
  20. public Patuvanje(String agencija, int cena) {
  21. this.agencija = agencija;
  22. this.cena = cena;
  23. }
  24.  
  25. public String getAgencija() {
  26. return agencija;
  27. }
  28.  
  29. public void setAgencija(String agencija) {
  30. this.agencija = agencija;
  31. }
  32.  
  33. public int getCena() {
  34. return cena;
  35. }
  36.  
  37. public void setCena(int cena) {
  38. this.cena = cena;
  39. }
  40.  
  41. int vratiVremeVoDenovi(){
  42. return 0;
  43. }
  44. public static int vratiMinCena(Patuvanje niza[], int n, Patuvanje zaSporedba)
  45. {
  46. int min=0, flag=1;
  47.  
  48. for(int i=0;i<niza.length;i++)
  49. {
  50. if(niza[i].vratiVremeVoDenovi() > zaSporedba.vratiVremeVoDenovi())
  51. {
  52. if(flag==1)
  53. {
  54. min = niza[i].cena;
  55. flag=0;
  56. }
  57. if(niza[i].cena < min)
  58. {
  59. min = niza[i].cena;
  60. }
  61.  
  62. }
  63.  
  64. }
  65. return min;
  66. }
  67.  
  68. }
  69. class PraznicnoPatuvanje extends Patuvanje{
  70. int pocetenDatum;
  71. int pocetenMesec;
  72. int kraenDatum;
  73. int kraenMesec;
  74.  
  75. public PraznicnoPatuvanje(){}
  76.  
  77. public PraznicnoPatuvanje(String agencija, int cena,int pocetenDatum, int pocetenMesec,
  78. int kraenDatum, int kraenMesec) {
  79.  
  80. super(agencija,cena);
  81.  
  82. this.pocetenDatum = pocetenDatum;
  83. this.pocetenMesec = pocetenMesec;
  84. this.kraenDatum = kraenDatum;
  85. this.kraenMesec = kraenMesec;
  86.  
  87. try{
  88. if(pocetenMesec > kraenMesec)
  89. {
  90. throw new MyException("Iskluchok");
  91. }
  92. }
  93. catch(MyException e)
  94. {
  95. this.pocetenDatum=kraenDatum;
  96. this.kraenDatum=pocetenDatum;
  97.  
  98. this.pocetenMesec=kraenMesec;
  99. this.kraenMesec=pocetenMesec;
  100. }
  101.  
  102. }
  103.  
  104. public int getPocetenDatum() {
  105. return pocetenDatum;
  106. }
  107.  
  108. public void setPocetenDatum(int pocetenDatum) {
  109. this.pocetenDatum = pocetenDatum;
  110. }
  111.  
  112. public int getPocetenMesec() {
  113. return pocetenMesec;
  114. }
  115.  
  116. public void setPocetenMesec(int pocetenMesec) {
  117. this.pocetenMesec = pocetenMesec;
  118. }
  119.  
  120. public int getKraenDatum() {
  121. return kraenDatum;
  122. }
  123.  
  124. public void setKraenDatum(int kraenDatum) {
  125. this.kraenDatum = kraenDatum;
  126. }
  127.  
  128. public int getKraenMesec() {
  129. return kraenMesec;
  130. }
  131.  
  132. public void setKraenMesec(int kraenMesec) {
  133. this.kraenMesec = kraenMesec;
  134. }
  135. int vratiVremeVoDenovi(){
  136.  
  137. if(pocetenMesec==kraenMesec)
  138. {
  139. return kraenDatum - pocetenDatum;
  140. }
  141. else
  142. {
  143. return 30 - pocetenDatum + kraenDatum;
  144. }
  145.  
  146. }
  147.  
  148. }
  149. class GodishenOdmor extends Patuvanje{
  150. int vremetraenje;
  151.  
  152. public GodishenOdmor(){};
  153.  
  154. public GodishenOdmor(String agencija, int cena, int vremetraenje){
  155.  
  156. super(agencija,cena-1000);
  157.  
  158. this.vremetraenje=vremetraenje;
  159. }
  160.  
  161. public int getVremetraenje() {
  162. return vremetraenje;
  163. }
  164.  
  165. public void setVremetraenje(int vremetraenje) {
  166. this.vremetraenje = vremetraenje;
  167. }
  168. int vratiVremeVoDenovi(){
  169. return this.vremetraenje;
  170. }
  171.  
  172. }
  173.  
  174.  
  175. public class Test {
  176.  
  177.  
  178. public static void main(String[] args) {
  179.  
  180.  
  181. int n;
  182. Scanner in=new Scanner(System.in);
  183. n=in.nextInt();
  184.  
  185. Patuvanje nizaPatuvanje[]=new Patuvanje[n];
  186.  
  187. for (int i=0;i<n;i++){
  188. int tip=in.nextInt();
  189. if (tip==0){
  190. String ime=in.next();
  191. int cena =in.nextInt();
  192. int vreme=in.nextInt();
  193. nizaPatuvanje[i]=new GodishenOdmor(ime,cena,vreme);
  194. }
  195. else {
  196. String ime=in.next();
  197. int cena =in.nextInt();
  198. int pocD=in.nextInt();
  199. int pocM=in.nextInt();
  200. int krajD=in.nextInt();
  201. int krajM=in.nextInt();
  202. nizaPatuvanje[i]=new PraznicnoPatuvanje(ime,cena,pocD,pocM, krajD,krajM);
  203.  
  204. }
  205. }
  206.  
  207. //решение на барање 1
  208.  
  209. for(int i=0;i<n;i++)
  210. {
  211. if(nizaPatuvanje[i] instanceof PraznicnoPatuvanje)
  212. {
  213. if(((PraznicnoPatuvanje) nizaPatuvanje[i]).getPocetenMesec()==6)
  214. {
  215. System.out.print(nizaPatuvanje[i].getAgencija() + " ");
  216. }
  217. }
  218. }
  219. System.out.println();
  220.  
  221. //решение на барање 2
  222. int suma = 0;
  223. for(int i=0;i<n;i++)
  224. {
  225. suma = suma + nizaPatuvanje[i].vratiVremeVoDenovi();
  226. }
  227. System.out.println((double) suma/n);
  228.  
  229. //решение на барање 3
  230.  
  231. String agencija = in.next();
  232. int cena = in.nextInt();
  233. int vremetraenje = in.nextInt();
  234.  
  235. GodishenOdmor odmor = new GodishenOdmor(agencija,cena,vremetraenje);
  236.  
  237.  
  238. //решение на барање 4
  239. int minimalnaCena;
  240.  
  241. minimalnaCena = Patuvanje.vratiMinCena(nizaPatuvanje,n,odmor);
  242.  
  243. System.out.println(minimalnaCena);
  244.  
  245. }
  246.  
  247. }
Add Comment
Please, Sign In to add comment