Advertisement
dzocesrce

[APS] Company

Aug 28th, 2023
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.48 KB | None | 0 0
  1. //pozezanata od voobicaenite
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. class SLLNode {
  6.     protected int id;
  7.     protected int plata;
  8.     protected SLLNode succ;
  9.  
  10.     public SLLNode(int id,int plata, SLLNode succ) {
  11.         this.id = id;
  12.         this.plata=plata;
  13.         this.succ = succ;
  14.     }
  15.  
  16.  
  17. }
  18.  
  19. class SLL {
  20.     private SLLNode first;
  21.  
  22.     public SLL() {
  23.         // Construct an empty SLL
  24.         this.first = null;
  25.     }
  26.  
  27.     public void deleteList() {
  28.         first = null;
  29.     }
  30.  
  31.     public int length() {
  32.         int ret;
  33.         if (first != null) {
  34.             SLLNode tmp = first;
  35.             ret = 1;
  36.             while (tmp.succ != null) {
  37.                 tmp = tmp.succ;
  38.                 ret++;
  39.             }
  40.             return ret;
  41.         } else
  42.             return 0;
  43.  
  44.     }
  45.  
  46.  
  47.     public void insertFirst(int id, int plata) {
  48.         SLLNode ins = new SLLNode(id,plata, first);
  49.         first = ins;
  50.     }
  51.  
  52.     public void insertLast(int id,int plata) {
  53.         if (first != null) {
  54.             SLLNode tmp = first;
  55.             while (tmp.succ != null)
  56.                 tmp = tmp.succ;
  57.             SLLNode ins = new SLLNode(id, plata, null);
  58.             tmp.succ = ins;
  59.         } else {
  60.             insertFirst(id,plata);
  61.         }
  62.     }
  63.  
  64.     public SLLNode getFirst() {
  65.         return first;
  66.     }
  67.  
  68.  
  69.     public SLL brisi_pomali_od(int iznos) {
  70.         // Vasiot kod tuka
  71.         SLLNode curr= first;
  72.         SLLNode prev= first;
  73.         while(curr!=null){
  74.             if(curr.plata<iznos){
  75.                 if(curr==first){
  76.                     prev=prev.succ;
  77.                     first=curr.succ;
  78.                     curr=prev;
  79.                 }
  80.                 else {
  81.                     prev.succ = curr.succ;
  82.                     curr = prev;
  83.                 }
  84.             }
  85.             else{
  86.                 prev=curr;
  87.                 curr=curr.succ;
  88.             }
  89.         }
  90.         return this;
  91.     }
  92.  
  93.     public SLL sortiraj_opagacki() {
  94.         // Vasiot kod tuka
  95.         SLLNode curr,prev1,prev2,tmp;
  96.         for(int i=0;i<this.length();i++){
  97.             curr=first.succ;
  98.             prev1=first;
  99.             prev2=first;
  100.             while(curr!=null){
  101.                 if(prev1.id<curr.id){
  102.                     tmp= curr.succ;
  103.                     curr.succ= prev1;
  104.                     prev1.succ= tmp;
  105.                     if(prev1==first){
  106.                         first= curr;
  107.                     }
  108.                     else{
  109.                         prev2.succ=curr;
  110.                     }
  111.                     prev2= curr;
  112.                     curr= tmp;
  113.                 }
  114.                 else{
  115.                     if(prev1!=first)
  116.                         prev2=prev2.succ;
  117.                         prev1=prev1.succ;
  118.                         curr=curr.succ;
  119.                 }
  120.  
  121.             }
  122.         }
  123.         return this;
  124.  
  125.     }
  126.     public void pecati (SLL lista)
  127.     {
  128. //        SLLNode p=lista.first;
  129. //        while(p!=null)
  130. //        {
  131. //            System.out.println(p.id+","+p.plata);
  132. //            p=p.succ;
  133. //        }
  134.         if(lista.first==null) System.out.println("nema");
  135.         else{
  136.             SLLNode temp= lista.first;
  137.             while(temp!=null){
  138.                 System.out.println(temp.id+" "+temp.plata);
  139.                 temp=temp.succ;
  140.             }
  141.         }
  142.     }
  143.  
  144. }
  145. public class SLLKompanija {
  146.     public static void main(String[] args) throws IOException {
  147.  
  148.         SLL lista1 = new SLL();
  149.         BufferedReader stdin = new BufferedReader(new InputStreamReader(
  150.                 System.in));
  151.         String s = stdin.readLine();
  152.         int N = Integer.parseInt(s);
  153.  
  154.         for (int i = 0; i < N; i++) {
  155.             s=stdin.readLine();
  156.             String s1=stdin.readLine();
  157.             lista1.insertLast(Integer.parseInt(s),Integer.parseInt(s1));
  158.         }
  159.         s = stdin.readLine();
  160.  
  161.         lista1=lista1.brisi_pomali_od(Integer.parseInt(s));
  162.         if(lista1!=null)
  163.         {
  164.             lista1=lista1.sortiraj_opagacki();
  165.             lista1.pecati(lista1);
  166.         }
  167.  
  168.     }
  169. }
  170. /*
  171. 6
  172. 1110
  173. 19000
  174. 213
  175. 25000
  176. 120
  177. 45000
  178. 444
  179. 12000
  180. 677
  181. 34000
  182. 1200
  183. 45000
  184. 20000
  185.  
  186. 1200 45000
  187. 677 34000
  188. 213 25000
  189. 120 45000
  190. ---------
  191. 10
  192. 567
  193. 13450
  194. 333
  195. 34569
  196. 220
  197. 13450
  198. 440
  199. 45000
  200. 660
  201. 39000
  202. 440
  203. 12550
  204. 688
  205. 10000
  206. 778
  207. 41000
  208. 559
  209. 33999
  210. 445
  211. 19500
  212. 25000
  213.  
  214. 778 41000
  215. 660 39000
  216. 559 33999
  217. 440 45000
  218. 333 34569
  219. */
  220.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement