【HDOJ】1022 Train Problem I
2014-04-02 17:06
302 查看
栈和队列训练题目。
#include <stdio.h> #include <string.h> #define MAXNUM 1005 char in[MAXNUM]; char out[MAXNUM]; char stack[MAXNUM]; char order[MAXNUM]; // 1:in, 0:out int main() { int n; int i, j, k, tmp, flg; int top; while (scanf("%d %s %s", &n, in, out) != EOF) { top = k = 0; for (i=0; in[i]!=out[0]&&i<n; ++i) { stack[top++] = in[i]; order[k++] = 1; } tmp = i+1; order[k++]=1; order[k++]=0; flg = 0; for (i=1; i<n; ++i) { if (top) { if (stack[top-1] == out[i]) { --top; order[k++] = 0; continue; } for (j=0; j<top-1; ++j) { if (stack[j] == out[i]) { printf("No.\nFINISH\n"); flg = 1; break; } } } if (flg) break; for (j=tmp; in[j]!=out[i]&&j<n; ++j) { stack[top++] = in[j]; order[k++] = 1; } tmp = j+1; order[k++]=1; order[k++]=0; } if (flg) continue; printf("Yes.\n"); for (i=0; i<k; ++i) if (order[i]) printf("in\n"); else printf("out\n"); printf("FINISH\n"); } return 0; }
相关文章推荐
- HDOJ 1022 Train Problem I (堆栈的应用)
- HDOJ&nbsp;&nbsp;1022&nbsp;&nbsp;&nbsp;Train&nbsp;Problem&nbsp;I
- [HDOJ1022]Train Problem I
- hdoj 1022 Train Problem I
- hdoj1022 Train Problem I(栈的简单应用)
- HDOJ 1022 Train Problem I
- HDOJ 1022 Train Problem I (C++)
- hdoj 1022 Train Problem I
- HDOJ1022 Train Problem I 解题报告
- hdoj 1022 Train Problem I
- HDOJ 1022 Train Problem I(简单栈)
- HDOJ/HDU 1022 Train Problem I(模拟栈)
- HDOJ/HDU 1022 Train Problem I(模拟栈)
- hdoj1022------------------Train Problem I---栈
- hdoj-1022 Train Problem I
- hdoj 1022 Train Problem I
- (HDOJ 1022)Train Problem I
- HDOJ1022 Train Problem I 栈模拟
- 模拟栈的出入 HDOJ 1022 Train Problem I
- HDOJ HDU 1022 Train Problem I