uva227 (我tm破防了!!!)

news2024/9/22 19:28:38

本人写了小十天就干这个(我太菜了那个紫皮书出这么恶心的题本身代码逻辑并不难,我也写出来了但是就算有问题我ccccccccccccccc)

首先说一下我不讲这个,因为我本身vs没有运行出来正确结果,在第二个输入中我输入的这个多出一个空格,我就算是再vj里面用别人的代码也是有问题,我就想算了不较真了,应该是vs的环境问题放在了vj这里说我超时我也就先放放吧等我过一阵子再从新检查这个代码。这篇文章就当是给我提提醒了,纱布题目我ccccccccccccccccccccccc

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

char puzzle[10][10]; // 代表拼图的全局数组
int emptyX, emptyY; // 用于存储空格的位置

void fillAndFindEmpty() {
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            puzzle[i][j] = getchar();  // 获取输入字符
        }
        getchar();  // 读取每行末尾的换行符
    }
    // 查找空格的位置
    int ei = 0, ej = 0;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            if (puzzle[i][j] == ' ') {
                ei = i;
                ej = j;
                break;
            }
        }
        if (puzzle[ei][ej] == ' ') break; // 找到空格后退出外层循环
    }
    emptyX = ei;
    emptyY = ej;
}

int main() {
    int kase = 0;
    while (true) {
        fillAndFindEmpty();
        string commands;
        getline(cin, commands);  // 读取命令字符串
        if (commands.empty()) continue; // 如果没有命令行,继续读取
        bool flag = true; // 标志变量初始化为 true
        for (char command : commands) {
            if (command == '0') {
                break;
            }
            if (command == 'Z') {
                return 0;
            }

            // 进行边界检查和移动操作
            switch (command) {
            case 'A':  // 上移
                if (emptyX > 0) {
                    char t = puzzle[emptyX - 1][emptyY];
                    puzzle[emptyX - 1][emptyY] = puzzle[emptyX][emptyY];
                    puzzle[emptyX][emptyY] = t;
                    emptyX--;
                }
                else {
                    flag = false;
                }
                break;
            case 'B':  // 下移
                if (emptyX < 4) {
                    char t = puzzle[emptyX + 1][emptyY];
                    puzzle[emptyX + 1][emptyY] = puzzle[emptyX][emptyY];
                    puzzle[emptyX][emptyY] = t;
                    emptyX++;
                }
                else {
                    flag = false;
                }
                break;
            case 'L':  // 左移
                if (emptyY > 0) {
                    char t = puzzle[emptyX][emptyY - 1];
                    puzzle[emptyX][emptyY - 1] = puzzle[emptyX][emptyY];
                    puzzle[emptyX][emptyY] = t;
                    emptyY--;
                }
                else {
                    flag = false;
                }
                break;
            case 'R':  // 右移
                if (emptyY < 4) {
                    char t = puzzle[emptyX][emptyY + 1];
                    puzzle[emptyX][emptyY + 1] = puzzle[emptyX][emptyY];
                    puzzle[emptyX][emptyY] = t;
                    emptyY++;
                }
                else {
                    flag = false;
                }
                break;
            default:
                flag = false;
                break;
            }
            if (!flag) {
                break;
            }
        }

        // 输出最终的拼图状态
        if (flag) {
            if (kase++) {
                cout << '\n';  // 输出空行以分隔不同的拼图
            }
            cout << "Puzzle #" << kase << ":\n";
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 5; j++) {
                    if (j > 0) {
                        cout << ' ';
                    }
                    cout << puzzle[i][j];
                }
                cout << endl;
            }
        }
        else {
            cout << "This puzzle has no final configuration." << endl;
        }
       
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极狐GitLab 如何管理 Kubernetes 集群?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…

高效实用!mp4转mkv,视频格式转换技巧分享

mp4和mkv是两种常见的视频格式&#xff0c;它们之间有着明显的区别。简单来说&#xff0c;mp4是一种较为通用的视频格式&#xff0c;支持在多种设备和播放器上播放&#xff0c;文件大小适中&#xff0c;但可能不支持一些高级功能。而mkv则是一种更为灵活的格式&#xff0c;能够…

深度学习-批量与动量【Datawhale X 李宏毅苹果书 AI夏令营】

实际工程中使用批量和动量可以对抗鞍点或局部最小值。 批量&#xff1a; 在计算梯度的时候不会用所有数据计算损失。类比我们考试复习时&#xff0c;一个单元一个单元的知识点输入&#xff0c;所有单元都输入就是一整个轮回。而这一个单元用深度学习的术语来说就是批量&#x…

职升网:二级造价工程师的作用有很多!

一、专业知识与技能 二级造价工程师具备一定的专业知识和技能&#xff0c;能够独立完成工程项目的造价核算、合同管理和成本控制等工作。 二、重要角色 二级造价工程师在建设项目中扮演着重要的角色&#xff0c;能够提供专业的造价咨询和决策支持&#xff0c;为项目的顺利进…

华为OD机考一次没过,其他部门岗位机考考过且面试全部通过,因为有首次考试记录,无法有流程,有什么高招?

1.华为机考的规则其实前面的一文带你读懂华为OD已经和大家详细介绍了啥是OD了&#xff0c;我们在回顾一下整个应聘流程&#xff1a; 第一步投递简历&#xff08;要找靠谱的HR太重要了&#xff09; 这一阶段你要提供姓名、邮箱、手机号、身份证号码用于锁定&#xff0c;所以投递…

智慧未来,建筑自动控制系统助力

随着科学技术的不断发展&#xff0c;建筑自动控制系统已成为现代建筑不可或缺的一部分。该系统通过监控电气设备、空调设备、卫生设施&#xff0c;以及电梯、门禁和停车场的管理&#xff0c;完成了建筑物的信息管理和运行。控制系统和通信技术的应用为建筑自动控制系统的发展提…

豆包插件分享

前言 大家好&#xff0c;今天给大家分享一个国内版的ChatGPT&#xff0c;名字叫&#xff1a;豆包MarsCode 使用链接&#xff1a;点我开始学习 介绍&#xff1a; MarsCode 是豆包旗下的智能编程助手&#xff0c;提供以智能代码补全为代表的核心能力&#xff0c;支持主流编程…

Kubernetes部署并管理EFK Stack

Kubernetes Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 主要概念 Pod&#xff1a;在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Service&#xff1a; Service 是 将运行在一个…

初赛试题:2022年CSP-J1

先言 本次试卷 一&#xff1a;单项选择题&#xff08;15题&#xff0c;每题2分&#xff0c;共30分&#xff09; 1. 【答案】A 【解析】 类、结构体相关的都是C的面对对象&#xff0c;例如struct,union,string,vector等STL标准库 2. 【答案】C 【解析】 ABCD全部模拟一遍…

azure-search-openai-demo-csharp does not deploy correctly to azure clooad

题意&#xff1a;“azure-search-openai-demo-csharp 无法正确部署到 Azure 云中” 问题背景&#xff1a; I want to try the sample, which Microsoft provided about the azure search. “我想尝试微软提供的关于 Azure 搜索的示例。”GitHub - Azure-Samples/azure-searc…

SpringBoot日常:MySQL数据库与达梦适配

文章目录 简介安装下载连接配置pom文件application.yml配置 代码适配注意事项1、创建表结构语法2、索引名唯一问题3、新增字段4、切换模式名5、工具客户端更新数据6、group by语法7、加解密函数替换8、删除符号9、separator分隔替换成LISTAGG函数10、函数now()替换成SYSDATE()1…

ADAS汽车芯片LPDDR4 SIPI联合仿真案列

目前LPDDRn/DDRn用于许多汽车应用,如高级驾驶员感知系 统(ADAS)、信息娱乐、自动驾驶汽车系统、平视显示器和仪表控制台等显示器,这些应用需要强大的处理器,需要带宽和内存容量来生成大量数据。这就需要电源和信号设计足够的健壮来适应不同的应用场景。上一篇文章中(LPDD…

冲压厂ERP常见功能是什么

在现代制造业中&#xff0c;特别是在冲压行业&#xff0c;高效的管理对于企业的竞争力至关重要。企业资源计划(ERP)系统作为一种集成化的管理工具&#xff0c;为冲压厂提供了诸多便利。本文将探讨冲压厂ERP系统的几个常见功能&#xff0c;并以万达宝ERP为例&#xff0c;分析其在…

紫光同创——PLL IP 的使用(Logos2)

本文档主要针对 Logos2 系列的 PLL 配置&#xff0c;至于 Logos 系列的 PLL&#xff0c;可以参考《PLLIP 的使用(Logos)》的文档。 一、PLL IP 介绍 1、PLL 基本配置模式 Basic Configurations PLL IP 是紫光同创基于 PLL 及时钟网络资源设计的 IP&#xff0c;通过不同的参数配…

2024年【山东省安全员A证】新版试题及山东省安全员A证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年山东省安全员A证新版试题为正在备考山东省安全员A证操作证的学员准备的理论考试专题&#xff0c;每个月更新的山东省安全员A证模拟考试祝您顺利通过山东省安全员A证考试。 1、【多选题】《建设工程安全生产管理…

Kafka简单搭建及常用命令

一、Kafka的服务搭建 1. 安装包下载 这里我下载的是目前最新的版本&#xff0c;在3.X版本及之后的版本中&#xff0c;Kafka已经移除了Zookeeper的强依赖&#xff0c;虽然依旧支持以Zookeeper的方式启动&#xff0c;但本文仅介绍无Zookeeper的启动方式&#xff0c;即kraft模式。…

003、架构_详解(重点)

GoldenDB 分布式数据库框架 DN和RDB增加了备节点;引入新模块CM,且GTM、MDS、PM、CM都增加备节点;MDS、PM、CM、RDB被统一在了管理节点之中;GTM和MDS间多了一条连线,因为GTM的切换由MDS把控;初步系统架构mysqld:一般称为DB节点,负责单个节点的数据处理; dbproxy:一般…

【文心智能体】通过低代码工作流编排创建应用《挑战奥运问答拿奖牌》

欢迎来到《小5讲堂》 这是《文心智能体平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景整体界面大模型链提示词模型 工具链HTTP请求工具 逻辑…

多语言跨领域迁移学习的新框架:MAD-X

人工智能咨询培训老师叶梓 转载标明出处 多语言模型如mBERT和XLM-R通过零样本或少样本跨语言迁移极大地推动了低资源语言的NLP应用。但这些模型由于容量限制&#xff0c;对低资源语言和未见语言的迁移性能并不理想。为了解决这一问题&#xff0c;来自德国达姆施塔特工业大学、…

【docker】docker学习笔记

docker学习笔记 0. docker 基本命令1. docker存储1.1 目录挂载1.2 卷映射 2. docker 网络2.1 机器ip访问2.2 容器ip访问2.3 域名访问 3. docker compose&#xff08;批量管理&#xff09;3.1 编写一个yml文件:3.2 docker compose 命令 4. 制作docker 镜像 0. docker 基本命令 …