Advertisement
brsjak

АПС - Букви

Aug 22nd, 2019
1,809
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. /*
  2. Букви Problem 7 (3 / 28)
  3.  
  4. Дадена е низа од големи букви, во која буквата S се појавува парен број пати. После секоја буква S буквата Т се појавува еднаш или повеќе пати.Користејќи стек да се одреди дали после секоја буква S (до следната буква S), буквата Т се појавува ист број на пати. На првиот ред од влезот се чита низа од карактери (стринг), на излез се печати 1 доколку буквата Т се појавува ист број на пати после секоја S, и нула доколку овој услов не е исполнет.
  5.  
  6. Име на класата: StackBukvi
  7.  
  8. */
  9.  
  10. import java.io.IOException;
  11. import java.util.NoSuchElementException;
  12. import java.util.Scanner;
  13. import java.util.Stack;
  14.  
  15. class ArrayStack<E>{
  16.     private E[] elems;
  17.     private int depth;
  18.  
  19.     @SuppressWarnings("unchecked")
  20.     public ArrayStack (int maxDepth) {
  21.         // Konstrukcija na nov, prazen stek.
  22.         elems = (E[]) new Object[maxDepth];
  23.         depth = 0;
  24.     }
  25.  
  26.  
  27.     public boolean isEmpty () {
  28.         // Vrakja true ako i samo ako stekot e prazen.
  29.         return (depth == 0);
  30.     }
  31.  
  32.  
  33.     public E peek () {
  34.         // Go vrakja elementot na vrvot od stekot.
  35.         if (depth == 0)
  36.             throw new NoSuchElementException();
  37.         return elems[depth-1];
  38.     }
  39.  
  40.  
  41.     public void clear () {
  42.         // Go prazni stekot.
  43.         for (int i = 0; i < depth; i++)  elems[i] = null;
  44.         depth = 0;
  45.     }
  46.  
  47.  
  48.     public void push (E x) {
  49.         // Go dodava x na vrvot na stekot.
  50.         elems[depth++] = x;
  51.     }
  52.  
  53.  
  54.     public E pop () {
  55.         // Go otstranuva i vrakja elementot shto e na vrvot na stekot.
  56.         if (depth == 0)
  57.             throw new NoSuchElementException();
  58.         E topmost = elems[--depth];
  59.         elems[depth] = null;
  60.         return topmost;
  61.     }
  62. }
  63.  
  64. public class StackBukvi {
  65.     static int proveri_t_posle_s(char [] st)
  66.     {
  67.         // Vasiot kod tuka
  68.        
  69.         int max=0,main=0;
  70.        
  71.         Stack<Character> sStack = new Stack<>();
  72.         Stack<Character> tStack = new Stack<>();
  73.        
  74.         for(int i=0;i<st.length;i++) {
  75.             int count=0;
  76.             char curr = st[i];
  77.             if(curr == 'S') {
  78.                 for(int j=i+1;j<st.length;j++) {
  79.                     char incurr = st[j];
  80.                     if(incurr == 'S') {
  81.                         break;
  82.                     }
  83.                     if(incurr == 'T') {
  84.                         sStack.push(curr);
  85.                         tStack.push(incurr);
  86.                         count++;
  87.                     }
  88.                 }
  89.                 if(count!=max) {
  90.                     max=count;
  91.                     main++;
  92.                 }
  93.             }
  94.         }
  95.         if(main==1) {
  96.             return 1;
  97.         }
  98.         return 0;
  99.     }
  100.  
  101.     public static void main(String[] args) throws IOException {
  102.         char [] niza=new char[100];
  103.    
  104.         Scanner f=new Scanner(System.in);
  105.         String st=f.next();
  106.         niza=st.toCharArray();
  107.        
  108.         int rez= proveri_t_posle_s(niza);
  109.         System.out.println(rez);
  110.     }
  111.    
  112.    
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement