uva 101
来源:互联网 发布:淘宝描述图片尺寸最大 编辑:程序博客网 时间:2024/05/17 06:53
#include <iostream>#include <stdlib.h>#include <stdio.h>using namespace std;const int maxn = 25 + 10;int place[maxn];int stack[maxn][maxn];int top[maxn];int number;char oper[maxn], prep[maxn];int a, b;void init_place(int n){int posi = place[n];while (stack[posi][top[posi]] != n){int temp = stack[posi][top[posi]];stack[temp][++top[temp]] = temp;place[temp] = temp;top[posi]--;}}void block_move(int a, int b){int posi = place[a];int posi_b = place[b];int index = top[posi];while (index >= 0 && stack[posi][index] != a)index--;for (int i = index; i <= top[posi]; i++){stack[posi_b][++top[posi_b]] = stack[posi][i];place[stack[posi][i]] = posi_b;}top[posi] = index - 1;}int main(){freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);cin >> number;for (int i = 0; i < number; i++){place[i] = i;stack[i][0] = i;top[i] = 0;}while (scanf("%s", oper)){if ('q' == oper[0])break;scanf("%d%s%d", &a, prep, &b);if (place[a] == place[b])continue;if ('m' == oper[0])init_place(a);if ('n' == prep[1])init_place(b);block_move(a, b);}for (int i = 0; i < number; i++){cout << i << ":";if (top[i] < 0){cout << endl;continue;}for (int j = 0; j <= top[i]; j++)cout << " " << stack[i][j];cout << endl;}//for int ireturn 0;}
0 0
- uva 101
- UVA 101
- UVA 101
- uva 101
- uva 101
- uva 101
- uva 101
- uva-101
- uva 101
- UVa 101
- UVa 101
- uva 101
- uva 101
- uva 101
- UVA 101
- uva 101
- uva 101
- UVA - 101
- 欢迎使用CSDN-markdown编辑器
- Solr建立索引时,过滤HTML标签
- 文字溢出容器问题
- Oracle的时间总结 -- oracle知识2016/09/30
- 20160928_Oracle数据库管理记录
- uva 101
- 一些适合初级安卓开发者的项目
- iOS 内存管理
- 【HNOI 2010】Bounce 弹飞绵羊 分块
- jtessboxeditor 中文乱码
- 【hdu 2196】Computer(树形dp)
- (转载)性能调优--永远超乎想象 (原文最终修订于 2006-08-28 晚上11:48:38)
- AFNetworking修改默认的请求时间(默认30s) 太长了
- 高斯消元模板