Problem Number: 1063
Problem Name: Rails Again… Tracing Movements
Author’s Name: By Neilor Tonin, URI Brazil
Problem Category: AD-HOC
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..