Uva 10152 ShellSort

简介: 点击打开链接 题目意思:有一堆的乌龟,输出一堆乱序的乌龟,然后输入一个正确的顺序,要求找到一种最小步骤的方法使得第一堆变成第二堆,每一次可以把乌龟移到第一个位置,输出该方法步骤.

点击打开链接


题目意思:有一堆的乌龟,输出一堆乱序的乌龟,然后输入一个正确的顺序,要求找到一种最小步骤的方法使得第一堆变成第二堆,每一次可以把乌龟移到第一个位置,输出该方法步骤.


解题思路:我们可以用两个char 数组来存储第一和第二堆的乌龟顺序,然后用两个int 数组num和tem来存储乌龟的顺序编号.我们知道只要从后面往前遍历tem数组就可以找到最小的步骤,然后利用栈的先进后出的性质(由上面可知,乌龟最后一个肯定是最先移动的)


代码:

//UVA10152
#include <cstdio>
#include <cstring>
#include <iostream>
#include <stack>
#include <map>
#include <algorithm>
using namespace std;

char ch[210][100] , temp[210][100];
int  num[210] , tem[210];

void output(int n){
    int i , j;
    memset(tem , 0 ,sizeof(tem));
    for(i = 0 ; i < n ;i++){
        for(j = 0 ; j < n ; j++){
            if(strcmp(temp[i] , ch[j]) == 0)
                tem[i] = num[j];
        }
    }
    for(i = n-2 ;i >= 0 ; i--){
        if(tem[i] > tem[i+1])
            break;
    }
    stack<char*>s;
    for(j = 0 ;j <= i ;j++)
        s.push(temp[j]);
    while(!s.empty()){
        cout<<s.top()<<endl;
        s.pop();
    }
    cout<<endl;
}
int main(){
    int t , n , i , j;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        getchar();
        memset(num , 0 , sizeof(num));
        for(i = 0 ;i < n ; i++){
            gets(ch[i]);
            num[i] = i;
        }
        for(i = 0 ; i < n ; i++){
            gets(temp[i]);
        }
        output(n);
    }
    return 0;
}



目录
相关文章
|
SQL 人工智能 分布式计算
【产品升级】Dataphin V5.3 全新上线:四大能力升级,数据管理更统一、更智能!
V5.3版本,Dataphin推出众多重磅功能:例如,全新的智能应用:X-数据标准、X-数据安全以及智能应用反馈看板;更前沿的数据研发能力:利用SelectDB/Doris/StarRocks查询加速Hive和MaxCompute的离线引擎、全面支持Paimon格式的数据湖构建;资产运营和数据服务持续提效。
414 0
|
测试技术 项目管理 前端开发
互联网项目管理流程(SOP)总结
无规矩不成方圆。 项目角色 产品经理(PM) 后台开发(RD) 前端开发(FE) 系统测试(QA) 项目周期 主要的环节包括 :需求评审、项目开发、提测、系统测试、发布上线等 序号 环节 主R(responsible) S(support) ...
5475 0
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
9月前
|
Rust NoSQL 中间件
EAR_v3 《浮声三》 智能化图书管理系统
浮声三 EAR_v3,基于 Actix_Web 框架的智能化图书管理系统,版本 2.1.2,由 Rusty_Borders 的在线控制系统演变而来。该项目采用 Rust 语言编写,依赖库有 Actix_Web、Tokio、OpenSSL 等,提供用户注册登录、借阅归还图书、单会话、集中身份检查等服务。是此版本使用 MySQL 作为数据库,Redis 作为高速缓存,并且实现了 SSL 加密传输,确保了安全性和高效性。项目遵循 GPL v2.0 协议。
236 2
EAR_v3 《浮声三》 智能化图书管理系统
|
10月前
|
搜索推荐 算法 数据挖掘
探讨淘宝商品 API 接口:运用及收益
在电商蓬勃发展的今天,淘宝作为国内巨头,拥有海量商品数据和庞大用户群体。淘宝商品API接口为开发者、电商从业者和数据分析师提供了丰富的商品信息,如详情、价格、销量、评价等,助力电商平台搭建、推荐系统优化、市场调研及竞品分析,显著提升业务收益。本文将深入探讨该接口的运用方法与价值,并结合实际代码示例,帮助读者更好地理解和应用。
287 6
|
数据挖掘
【杂学笔记甲】问题分析和解决的流程及工具介绍
【10月更文挑战第2天】该文档详细介绍了问题解决的过程,包括定义问题、测量问题、分析问题、改善问题和控制问题五个阶段。在定义问题阶段,通过组建跨职能团队和运用4W1H方法明确问题;测量问题阶段则通过逻辑图和流程图等工具进行数据分析;分析问题阶段筛选关键原因并确认;改善问题阶段提出并筛选方案,进行试运行;最后控制问题阶段实施前后对比并总结经验,为后续挑战做准备。
441 11
【杂学笔记甲】问题分析和解决的流程及工具介绍
|
机器学习/深度学习 自然语言处理
准确率达60.8%,浙大基于Transformer的化学逆合成预测模型,登Nature子刊
【8月更文挑战第29天】浙江大学团队在《Nature》子刊上发表的论文介绍了一款名为EditRetro的基于Transformer架构的化学逆合成预测模型,其准确率高达60.8%,为化学合成领域带来了革命性的变化。此模型无需依赖传统化学反应模板,具备更强的泛化能力和多样化合成路线生成能力,在药物研发和材料科学领域展现出巨大潜力,尽管仍存在一定的错误率和计算资源需求高等挑战。论文详情见:https://www.nature.com/articles/s41467-024-50617-1。
230 3
|
机器学习/深度学习 边缘计算 缓存
有哪些方法可以降低 LLM 的计算成本?
【8月更文挑战第13天】
383 5
|
机器学习/深度学习 供应链 算法
【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 52页论文及代码
本文提出了一个基于动态规划的蔬菜补货和定价策略,通过分析蔬菜品类间销售量的分布规律和相互关系,利用多元回归、随机森林、灰色预测等方法预测市场需求,并建立数学模型以最大化商超收益。
414 0
【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 52页论文及代码
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(上)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)
639 2