博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA10562 数据结构题目
阅读量:5263 次
发布时间:2019-06-14

本文共 814 字,大约阅读时间需要 2 分钟。

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1093

题目大意:有很多乌龟套在一起,你每次可以把任意一个乌龟移到栈的顶端,然后给你一个目标序列,问你

至少需要移动哪些乌龟,并按移动顺序输出这些乌龟的名字。

思路分析:想明白了以后就会发现,这道题很水,只需要把两个序列从末尾n-1开始比较,如果发现相同乌龟,

则原序列和目标序列同时向上移1,否则原序列移1,目标序列不动。最后目标序列栈顶剩下的哪些乌龟就是原序列

需要移动的,逆序输出即可。

代码:

#include <iostream>

#include <algorithm>
#include <stack>
#include <queue>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=1005;
char a[maxn][100],b[maxn][100];
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        getchar();
        for(int i=0;i<=n-1;i++)
            gets(a[i]);
        for(int i=0;i<=n-1;i++)
            gets(b[i]);
       int p=n-1,q=n-1;
       while(p>=0)
       {
           if(!strcmp(a[p],b[q])) q--;
           p--;
       }
       while(q>=0)
       {
           printf("%s\n",b[q]);
           q--;
       }
       cout<<endl;
    }
    return 0;
}

转载于:https://www.cnblogs.com/xuejianye/p/5461985.html

你可能感兴趣的文章
WPF文本框只允许输入数字[转]
查看>>
事务的四种隔离级别和七种传播行为
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
Denver Broncos nfl jersey authentic considering alot more
查看>>
HDU 3572 最大流
查看>>
Bootstrap基础
查看>>
Javascript: 从prototype漫谈到继承(1)
查看>>
POJ 3974 Palindrome | 马拉车模板
查看>>
oracle表关联update和表建立索引
查看>>
JVM运行内存分类
查看>>
【学习】博弈相关:Nim
查看>>
BZOJ4552 HEOI/TJOI2016 排序 线段树、二分答案
查看>>
13. 用Roberts、Sobel、Prewitt和Laplace算子对一幅灰度图像进行边缘检测。观察异同。...
查看>>
Web 安全入门-书籍及建议
查看>>
prim算法基础详解(无向赋权图的最小生成树MST)
查看>>
vijos1404 遭遇战
查看>>
Androidstudio创建项目jdk版本问题
查看>>
WCF 第五章 行为 实现事务(操作行为)
查看>>
WCF 第七章 寄宿 在一个IIS寄宿服务中开启ASMX特性
查看>>
jsp小测文件上传+servlet+分页 47/32(继续努力!)
查看>>