Advertisement
Guest User

Bukvi

a guest
Aug 28th, 2014
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 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 () throws NoSuchElementException ;
  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 () throws NoSuchElementException ;
  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 () throws NoSuchElementException {
  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 () throws NoSuchElementException {
  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.     public int getDepth() {
  77.         return this.depth;
  78.     }
  79. }
  80.  
  81. public class StackBukvi {
  82. static int proveri_t_posle_s(char [] St)
  83.     {
  84.         int br = 0;
  85.         ArrayStack<Character> trska = new ArrayStack<Character>(St.length);
  86.        
  87.         for(int i = 0; i < St.length; i++){
  88.             if(St[i]=='S')
  89.             br++;
  90.                 if(br%2!=0&&St[i]=='T')
  91.                     trska.push(St[i]);
  92.                 else if(br%2==0&&St[i]=='T')
  93.                     if(!trska.isEmpty())
  94.                         try{
  95.                             trska.pop();
  96.                         }
  97.                     catch(Exception e){}
  98.        
  99.         }
  100.        
  101.         if(trska.isEmpty())
  102.             return 1;
  103.         else
  104.             return 0;
  105.  
  106. }
  107.  
  108.     public static void main(String[] args) throws IOException {
  109.         char [] niza=new char[100];
  110.    
  111.         Scanner f=new Scanner(System.in);
  112.         String st=f.next();
  113.         niza=st.toCharArray();
  114.        
  115.         int rez= proveri_t_posle_s(niza);
  116.         System.out.print(rez);
  117.     }
  118.    
  119.    
  120. }
  121. class NoSuchElementException extends Exception {
  122.  
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement