Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Букви Problem 7 (3 / 28)
- Дадена е низа од големи букви, во која буквата S се појавува парен број пати. После секоја буква S буквата Т се појавува еднаш или повеќе пати.Користејќи стек да се одреди дали после секоја буква S (до следната буква S), буквата Т се појавува ист број на пати. На првиот ред од влезот се чита низа од карактери (стринг), на излез се печати 1 доколку буквата Т се појавува ист број на пати после секоја S, и нула доколку овој услов не е исполнет.
- Име на класата: StackBukvi
- */
- import java.io.IOException;
- import java.util.NoSuchElementException;
- import java.util.Scanner;
- import java.util.Stack;
- class ArrayStack<E>{
- private E[] elems;
- private int depth;
- @SuppressWarnings("unchecked")
- public ArrayStack (int maxDepth) {
- // Konstrukcija na nov, prazen stek.
- elems = (E[]) new Object[maxDepth];
- depth = 0;
- }
- public boolean isEmpty () {
- // Vrakja true ako i samo ako stekot e prazen.
- return (depth == 0);
- }
- public E peek () {
- // Go vrakja elementot na vrvot od stekot.
- if (depth == 0)
- throw new NoSuchElementException();
- return elems[depth-1];
- }
- public void clear () {
- // Go prazni stekot.
- for (int i = 0; i < depth; i++) elems[i] = null;
- depth = 0;
- }
- public void push (E x) {
- // Go dodava x na vrvot na stekot.
- elems[depth++] = x;
- }
- public E pop () {
- // Go otstranuva i vrakja elementot shto e na vrvot na stekot.
- if (depth == 0)
- throw new NoSuchElementException();
- E topmost = elems[--depth];
- elems[depth] = null;
- return topmost;
- }
- }
- public class StackBukvi {
- static int proveri_t_posle_s(char [] st)
- {
- // Vasiot kod tuka
- int max=0,main=0;
- Stack<Character> sStack = new Stack<>();
- Stack<Character> tStack = new Stack<>();
- for(int i=0;i<st.length;i++) {
- int count=0;
- char curr = st[i];
- if(curr == 'S') {
- for(int j=i+1;j<st.length;j++) {
- char incurr = st[j];
- if(incurr == 'S') {
- break;
- }
- if(incurr == 'T') {
- sStack.push(curr);
- tStack.push(incurr);
- count++;
- }
- }
- if(count!=max) {
- max=count;
- main++;
- }
- }
- }
- if(main==1) {
- return 1;
- }
- return 0;
- }
- public static void main(String[] args) throws IOException {
- char [] niza=new char[100];
- Scanner f=new Scanner(System.in);
- String st=f.next();
- niza=st.toCharArray();
- int rez= proveri_t_posle_s(niza);
- System.out.println(rez);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement