Advertisement
Martina312

Untitled

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