StefiIOE

[ADS] Letters

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