UVA 227 Puzzle(基础字符串处理)
题目链接:
https://cn.vjudge.net/problem/UVA-227
/*
问题 输入一个5*5的方格,其中有一些字母填充,还有一个空白位置,输入一连串
的指令,如果指令合法,能够得到一个移动后的方格就输出方格,不能就输出
“This puzzle has no final configuration.” 解题思路
模拟,一个一个的读入字符,包括空格,再读入若干行指令,如果指令表面合法,进入模拟看内容是否合法,不合法直接输出提示。 易错点
读入和控制结束问题,注意读入指令后有一个换行需要处理
输出格式,将换行放在谜题数前面
*/
#include<cstdio>
#include<cstring> int check(char *s);
int move(char e[][],int x, int y,char *s);
int main()
{
char e[][],s1[],s[],ch;
int i,j,flag,t=,x,y,lens;
while(){
for(i=;i<=;i++){
gets(e[i]+);
if(i == && e[][] == 'Z'){
return ;//控制结束
}
} //整合指令
memset(s,,sizeof(char)*);
memset(s1,,sizeof(char)*);
while(){
scanf("%s",s1);
strcat(s,s1);
lens=strlen(s);
if(s[lens-] == '')
break;
}
getchar();//注意吃掉一个换行 //找到空白位置
for(i=;i<=;i++){
for(j=;j<=;j++){
if(e[i][j] == ' '){
x=i;
y=j;
}
}
} if(t != )//注意格式
printf("\n"); printf("Puzzle #%d:\n",++t);
if(check(s)){
if(move(e,x,y,s))
for(i=;i<=;i++){
for(j=;j<=;j++){
if(j == )
printf("%c",e[i][j]);
else
printf(" %c",e[i][j]);
}
printf("\n");
}
else
printf("This puzzle has no final configuration.\n");
}
else
printf("This puzzle has no final configuration.\n");
}
return ;
} int move(char e[][],int x, int y,char *s){
int len=strlen(s),i;
for(i=;i<len-;i++){
if(s[i] == 'A'){
if(x- < ) return ;
e[x][y]=e[x-][y];
e[x-][y]=' ';
x--;
}
else if(s[i] == 'B'){
if(x+ > ) return ;
e[x][y]=e[x+][y];
e[x+][y]=' ';
x++;
}
else if(s[i] == 'R'){
if(y+ > ) return ;
e[x][y]=e[x][y+];
e[x][y+]=' ';
y++;
}
else if(s[i] == 'L'){
if(y- < ) return ;
e[x][y]=e[x][y-];
e[x][y-]=' ';
y--;
}
}
return ;
} int check(char *s)
{
int len=strlen(s),i;
for(i=;i<len-;i++){
if(s[i] != 'A' && s[i] != 'B' && s[i] != 'R' && s[i] != 'L')
return ;
}
return ;
}
UVA 227 Puzzle(基础字符串处理)的更多相关文章
- UVA 227 Puzzle - 输入输出
题目: acm.hust.edu.cn/vjudge/roblem/viewProblem.action?id=19191 这道题本身难度不大,但输入输出时需要特别小心,一不留神就会出问题. 对于输入 ...
- uva 227 Puzzle
Puzzle A children's puzzle that was popular 30 years ago consisted of a 5x5 frame which contained ...
- uva 227 Puzzle (UVA - 227)
感慨 这个题实在是一个大水题(虽然说是世界决赛真题),但是它给出的输入输出数据,标示着老子世界决赛真题虽然题目很水但是数据就能卡死你...一直pe pe直到今天上午AC...无比感慨...就是因为最后 ...
- python基础——字符串和编码
python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...
- Python 基础 字符串拼接 + if while for循环
注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 + ""%( ...
- Java基础-字符串(String)常用方法
Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...
- Java基础-字符串连接运算符String link operator
Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...
- OC基础--字符串
前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...
- Puzzle UVA - 227 PE代码求大佬指点
A children's puzzle that was popular 30 years ago consisted of a 5×5 frame which contained 24 smal ...
随机推荐
- CSS 基础 例子 伪元素和伪类 & 区别
一.概念 CSS 伪类 -------向某些选择器添加特殊的效果,要达到同等效果,通过类来达到效果 CSS 伪元素 -------将特殊的效果添加到某些选择器,要达到同等效果,通过添加元素达到 ...
- day05_雷神_函数进阶
#day05 1.迭代器 1.1可迭代对象 str,list,tuple,dict,set,range,文件句柄 等都是可迭代对象 第一种方法:在该对象中,含有__iter__方法的就是可迭代对象,遵 ...
- WINDOWS CLUSTER -- 时间不同步导致的群集问题
故障描述,重启服务器后,发现该重启节点未成功加入到Windows群集中,导致该节点上的Alwayson服务也受影响处于“正在解析”状态,尝试重启cluster服务,发现无效,查看windows日志,发 ...
- SignalR 设计理念(一)
SignalR 设计理念(一) 实现客户端和服务器端的实时通讯. 问题阐述 客户端提供的方法不确定! 客户端的方法参数不确定! 不同的名称和参数要分别调用指定的方法! 调用客户端方法时,忽略大小写! ...
- [CTSC2008]网络管理(整体二分+树剖+树状数组)
一道经典的带修改树链第 \(k\) 大的问题. 我只想出三个 \(\log\) 的解法... 整体二分+树剖+树状数组. 那不是暴力随便踩的吗??? 不过跑得挺快的. \(Code\ Below:\) ...
- shapefile的使用和地理信息的获得
Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式.官方称Shapefile是一种用于存储地理要素的几何位 ...
- Java并发编程总结2——慎用CAS
一.CAS和synchronized适用场景 1.对于资源竞争较少的情况,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源:而CAS基于硬件实 ...
- 腾讯开源极限渲染js模板链接
https://aui.github.io/art-template/zh-cn/index.html
- 阿里云centos 开启ipv6
参考网址 https://blog.chenjia.me/articles/160301-134110.html?spm=5176.bbsr285557.0.0.g1Oemn 阿里云限制了ipv6的功 ...
- android studio 一直卡在Gradle:Build Running的解决办法
转:android studio 一直卡在Gradle:Build Running的解决办法 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...