URI Online Judge Solution 1063 in C++ - Online Judge

Latest

This is an Online Judge Solution Base Site. We can discuss & Solve any contest solution in Programming.

Tuesday, March 24, 2020

URI Online Judge Solution 1063 in C++

Problem Number: 1063
Problem Name: Rails Again… Tracing Movements
Author’s Name: By Neilor Tonin, URI Brazil
Problem Category: AD-HOC

Solution in C++

#include <stdio.h>
#include <stack>
int main(){
    int n, i, j;
    char linha[2000];
    char entrada[1000], saida[1000];
    std::stack<char> pilha;
    
    while(scanf("%d", &n) && n){
        for (i = 0; i < n; i++)
 
            scanf(" %c", &entrada[i]);
        for (i = 0; i < n; i++)
 
            scanf(" %c", &saida[i]);
        entrada[n] = saida[n] = '';
        i = j = 0;
        while(1){
                 if(!pilha.empty() && j < n && pilha.top() == saida[j]){
                       pilha.pop();
                       printf("R");
                       j++;
                 }else if(i < n){
                        pilha.push(entrada[i]);
                        printf("I");
                        i++;
                 }else break;                    
        }
        
        if(pilha.empty()) printf("n");
        else  printf(" Impossiblen");
        while (!pilha.empty()){
              pilha.pop();
        }
    }
    return 0;
}

No comments:

Post a Comment

Thanks..