Advertisement
Guest User

Bukvi

a guest
Oct 31st, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.12 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.util.Scanner;
  3.  
  4. interface Stack<E> {
  5.  
  6.     // Elementi na stekot se objekti od proizvolen tip.
  7.  
  8.     // Metodi za pristap:
  9.  
  10.     public boolean isEmpty ();
  11.         // Vrakja true ako i samo ako stekot e prazen.
  12.  
  13.     public E peek ();
  14.         // Go vrakja elementot na vrvot od stekot.
  15.  
  16.     // Metodi za transformacija:
  17.  
  18.     public void clear ();
  19.         // Go prazni stekot.
  20.  
  21.     public void push (E x);
  22.         // Go dodava x na vrvot na stekot.
  23.  
  24.     public E pop ();
  25.         // Go otstranuva i vrakja elementot shto e na vrvot na stekot.
  26. }
  27.  
  28. class ArrayStack<E> implements Stack<E> {
  29.     private E[] elems;
  30.     private int depth;
  31.  
  32.     @SuppressWarnings("unchecked")
  33.     public ArrayStack (int maxDepth) {
  34.         // Konstrukcija na nov, prazen stek.
  35.         elems = (E[]) new Object[maxDepth];
  36.         depth = 0;
  37.     }
  38.  
  39.  
  40.     public boolean isEmpty () {
  41.         // Vrakja true ako i samo ako stekot e prazen.
  42.         return (depth == 0);
  43.     }
  44.  
  45.  
  46.     public E peek () {
  47.         // Go vrakja elementot na vrvot od stekot.
  48.        // if (depth == 0)
  49.          //   throw new NoSuchElementException();
  50.         return elems[depth-1];
  51.     }
  52.  
  53.  
  54.     public void clear () {
  55.         // Go prazni stekot.
  56.         for (int i = 0; i < depth; i++)  elems[i] = null;
  57.         depth = 0;
  58.     }
  59.  
  60.  
  61.     public void push (E x) {
  62.         // Go dodava x na vrvot na stekot.
  63.         elems[depth++] = x;
  64.     }
  65.  
  66.  
  67.     public E pop () {
  68.         // Go otstranuva i vrakja elementot shto e na vrvot na stekot.
  69.        // if (depth == 0)
  70.          //   throw new NoSuchElementException();
  71.         E topmost = elems[--depth];
  72.         elems[depth] = null;
  73.         return topmost;
  74.     }
  75. }
  76.  
  77. public class StackBukvi {
  78.     static int proveri_t_posle_s(char [] St)
  79.     {
  80.         // Vasiot kod tuka
  81.         ArrayStack<Character> ST = new ArrayStack<>(St.length);
  82.             int i=0;
  83.             int br1=0;
  84.             int br2=0;
  85.             int a=0;
  86.             for(i=0;i<St.length;i++)
  87.                 ST.push(St[i]);
  88.             while(ST.peek()!='S')
  89.             {
  90.                 if(ST.peek()=='T')
  91.                     br1++;
  92.                 ST.pop();
  93.             }
  94.                 ST.pop();
  95.            
  96.             while(ST.isEmpty()==false)
  97.             {
  98.                 char c=ST.pop();
  99.                // System.out.println(c);
  100.                 if(c=='T')
  101.                     br2++;
  102.                 //System.out.println(br1 +" "+br2);
  103.                 if(c=='S')
  104.                 {
  105.                     if (br1==br2)
  106.                     {   a=1;
  107.                        
  108.                         br2=0;
  109.                     }
  110.                     else
  111.                     {
  112.                         a=0;
  113.                         break;
  114.                     }
  115.                 }
  116.                
  117.             }
  118.                    
  119.             return a;
  120.     }
  121.  
  122.     public static void main(String[] args) throws IOException {
  123.         char [] niza=new char[100];
  124.    
  125.         Scanner f=new Scanner(System.in);
  126.         String st=f.next();
  127.         niza=st.toCharArray();
  128.        
  129.         int rez= proveri_t_posle_s(niza);
  130.         System.out.println(rez);
  131.     }
  132.    
  133.    
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement