题目描述:算法竞赛入门经典习题3-5

题目思路:模拟题

#include <stdio.h>
#include <string.h>
#define maxn 55
char gird[maxn][maxn] ;
char cmd[maxn] ;
int blank_x,blank_y ;
int main(int argc, char *argv[])
{int flag = 1;for(int i=0;i<5;i++)gets(gird[i]) ;for(int i=0;i<5;i++)for(int j=0;j<5;j++)if(gird[i][j]==' '){blank_x = i;blank_y = j;}while(gets(cmd)){int len = strlen(cmd) ;for(int i=0;i<len;i++){if(cmd[len-1] == '0' || cmd[i] == 'A' || cmd[i] == 'R' || cmd[i] == 'B' || cmd[i] == 'L' ){if(cmd[i] == 'A' && blank_x != 0){gird[blank_x][blank_y] = gird[blank_x-1][blank_y];gird[--blank_x][blank_y] = ' ';}if(cmd[i] == 'R' && blank_y != 4){gird[blank_x][blank_y] = gird[blank_x][blank_y+1];gird[blank_x][++blank_y] = ' ';}if(cmd[i] == 'B' && blank_x != 4){gird[blank_x][blank_y] = gird[blank_x+1][ blank_y];gird[++blank_x][ blank_y] = ' ';}if(cmd[i] == 'L' && blank_y != 0){gird[blank_x][blank_y] = gird[blank_x][ blank_y-1];gird[blank_x][--blank_y] = ' ';}}else flag = 0;}if(flag){for(int i = 0; i < 5; i++){printf("%c %c %c %c %c\n", gird[i][0], gird[i][1], gird[i][2], gird[i][3], gird[i][4]);}}elseprintf("This puzzle has no final configuration.\n");}return 0;
}

转载于:https://www.cnblogs.com/secoding/p/9484798.html

谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)相关推荐

  1. ACM - ICPC World Finals 2013 A Self-Assembly

    原题下载 : http://icpc.baylor.edu/download/worldfinals/problems/icpc2013.pdf 这道题其实是2013年我AC的第一道题,非常的开心,这 ...

  2. 《算法竞赛入门经典》 例题 4-4 信息编码 (Message Decoding,ACM,ICPC World Finals 1991,UVa 213)

    原题及翻译 Some message encoding schemes require that an encoded message be sent in two parts. 某些消息编码方案要求 ...

  3. 《算法竞赛入门经典》习题4-2 正方形 (Squares,ACM,ICPC World Finals 1990,UVa201)——仅提供大体方法

    原题及翻译 A children's board game consists of a square array of dots that contains lines connecting some ...

  4. 习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)

    原题vjudge 输入一个r行c列(1≤r,c≤10)的网格,黑格用"*"表示,每个白格都填有一个字母. 如 果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能出 ...

  5. 数数正方形(ACM/ICPC World Finals)

    题目:有n行n列(2<=n<=9)的小黑点,还有m条线段连接其中的一些黑点,统计这些线段连成了多少个正方形(每种边长分别统计) 行从上到下编号为1~n,列从上到下编号为1~n.边用 H(i ...

  6. 例题5-10 PGA巡回赛的奖金(PGA Tour Prize Money,ACM/ICPC World Finals 1990 UVa207)

    原题链接:https://vjudge.net/problem/UVA-207 分类:耐力 备注:排序和其他细节处理 前言:这是我第二次默写刘老师的代码了,真的崩溃,错一点点细节都不行,对着uDebu ...

  7. UVa816 例题 6-14 Abbott的复仇 (Abbott's Revenge,ACM/ICPC World Finals 2000)

    原题链接: UVa-816 题目大意: 模有一个最多包含9*9个交叉点的迷宫.输入起点.离开起点时的朝向和终点,求一条最短路径.(具体题目参考原题和紫书) 解题思路: 本题是一道用BFS求最短路径的迷 ...

  8. 习题7-1 消防车(Firetruck,ACM/ICPC World Finals 1991, UVa208)

    原题链接:https://vjudge.net/problem/UVA-208 备注:回溯法 分类:DFS 代码如下: #include<cstdio> #include<cstri ...

  9. 习题7-3 多米诺效应(The Domino Effect, ACM/ICPC World Finals 1991, UVa211)

    谜一般的格式换行,为啥格式错报WA额. 这题也是用回溯法解决,只是判断情况稍微复杂些. 本质都是相同的,每次有两种决策,一行一行来处理. 当进行到某一行时,上一行还存在未vis的位置则回溯. #inc ...

最新文章

  1. Windows 10完美识别3TB硬盘实录
  2. Android代码实现新建文件夹,并将文件保存到新建的文件夹中
  3. DCMTK:I2DBmpSource类的测试程序
  4. NYOJ15-括号匹配(二)-区间DP
  5. 【最佳解法】剑指 Offer 25. 合并两个排序的链表
  6. 【转】Mongodb 学习笔记
  7. 数据结构-堆 Java实现
  8. Android功耗(16)---自启动管理
  9. Popush项目团队开发章程
  10. 华为发布智能数据解决方案FusionData,重定义数据基础设施,释放数据价值
  11. java从入门到精通一(java开发入门)
  12. MTK 手机支持3D
  13. xp系统共享服务器怎么设置权限,xp系统局域网设置权限不让其他人访问的方法...
  14. 硬件原理图 一键开关机电路
  15. mysql 伪表_伪表和伪列
  16. iO逆向 触动精灵网络请求
  17. 团队任务3每日立会(2018-10-24)
  18. 服务器虚拟化vmware hyper-v,浅谈Hyper-v与VMware服务器虚拟化比较
  19. JS验证身份证号地区码及最后一位校验码
  20. tomcat布置前端项目

热门文章

  1. uefi启动 多硬盘gtp_传统引导更改为UEFI+GTP
  2. python降维之时间类型数据的处理_python学习笔记之使用sklearn进行PCA数据降维
  3. MyBatis缓存分为一级缓存和二级缓存
  4. Oracle代码大全.从入门到熟练
  5. Kubernetes的yaml文件中的command使用
  6. R语言绘制ROC曲线如何画在一个图中
  7. 生命的力量:萝卜开花
  8. window.onload,body onload=function(), document.onreadystatechange, httpRequest.onreadystatechang
  9. 爬虫基于ADSL动态获取ip
  10. SpringBoot用JdbcTemplates访问Mysql