谜题 UVA227
这道题目还是不难的,但是要注意gcc里面gets已经不能用了,用gets_s还是可以的,尽管我并不知道有什么区别
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char a[20][20]; int x, y; char s[1000];
int blank_x = 0, blank_y = 0; int flag = 1;
gets_s(a[0]);
gets_s(a[1]);
gets_s(a[2]);
gets_s(a[3]);
gets_s(a[4]);
/*for (x = 0; x < 5; x++)
{
for (y = 0; y < 5; y++)
{
scanf("%c", &a[x][y]);
}
}*/
for (int x = 0; x < 5; x++)
{
for (int y = 0; y < 5; y++)
{
if (a[x][y] = ' ')
{
blank_x = x;
blank_y = y;
}
}
}
gets_s(s);
int len = strlen(s);
for (int i = 0; i < len; i++)
{
if (s[len - 1] == '0' || s[i] == 'A' || s[i] == 'R' || s[i] == 'B' || s[i] == 'L')
{
if (s[i] == 'A'&&blank_x != 0)
{
a[blank_x][blank_y] = a[blank_x - 1][blank_y];
a[blank_x - 1][blank_y] = ' ';
}
if (s[i] == 'R'&&blank_y != 4)
{
a[blank_x][blank_y] = a[blank_x][blank_y + 1];
a[blank_x][blank_y + 1] = ' ';
}
if (s[i] == 'B'&&blank_x != 4)
{
a[blank_x][blank_y] = a[blank_x + 1][blank_y];
a[blank_x + 1][blank_y] = ' ';
}
if (s[i] == 'L'&&blank_y != 0)
{
a[blank_x][blank_y] = a[blank_x][blank_y - 1];
a[blank_x][blank_y - 1] = ' ';
}
}
else flag = 0;
}
if (flag)
{
for (int i = 0; i < 5; i++)
{
printf("%c %c %c %c %c\n", a[i][0], a[i][1], a[i][2], a[i][3], a[i][4]);
}
}
else printf("the puzzle has no final configuration!\n");
system("pause");
}
谜题 UVA227的更多相关文章
- 例题 3-5 谜题 uva227 Puzzle
A children’s puzzle that was popular years ago consisted of a × frame which contained small squares ...
- 谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)
题目描述:算法竞赛入门经典习题3-5 题目思路:模拟题 #include <stdio.h> #include <string.h> #define maxn 55 char ...
- 习题3-5 谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)
#include<stdio.h> #include<string.h> char s[5][5]; int main() { while(gets(s[0])) { int ...
- SQL 谜题(硬币的组合)
问题:早在ITPUB中看过有个SQL高手,喜欢出谜题,以下是一个谜题.我试用SQL SERVER解决此问题. 用1分,5分,10分,25分,50分硬币凑成一元,总共有几种组合办法? SELECT'1* ...
- [变]C#谜题(1-10)表达式篇
[变]C#谜题(1-10)表达式篇 最近偶然发现了<Java谜题>,很有意思,于是转到C#上研究一下. 本篇是关于表达式的一些内容. 谜题1:奇数性(负数的取模运算) 下面的方法意图确定它 ...
- UOJ260 【NOIP2016】玩具谜题
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 转载:C语言的谜题
转载:http://coolshell.cn/articles/945.html 这几天,本站推出了几篇关于C语言的很多文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? ...
- 《algorithm puzzles》——谜题
这篇文章开始正式<algorithm puzzles>一书中的解谜之旅了! 狼羊菜过河: 谜题:一个人在河边,带着一匹狼.一只羊.一颗卷心菜.他需要用船将这三样东西运至对岸,然而,这艘船空 ...
- scheme 阴阳谜题
本篇分析continuation的一个著名例子"阴阳迷题",这是由David Madore先生提出的,原谜题如下: (let* ((yin ((lambda (foo) (disp ...
随机推荐
- DDNS client on a Linux machine
Using this tool -> inadyn apt-get install inadyn -y Usage: https://github.com/troglobit/inadyn#ex ...
- enode框架step by step之saga的思想与实现
enode框架step by step之saga的思想与实现 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode enode ...
- Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal
Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal Linuxjournal 网站经典文章翻译,原文地址: Large-S ...
- J2EE (九) 静态代理和动态代理--间接“美”
生活中有很多例子是间接来控制和访问的,比如你找一个人不自己亲自去,而是让别人代替去做这就是最简单的代理模式,是一种间接通信的例子,对象间的间接通信也同样是面向对象设计中的一条重要的“审美观”.间接通信 ...
- Hackers’ Crackdown-----UVA11825-----DP+状态压缩
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 【Linux】CentOS 学习笔记之一(安装配制)
如何打开命令窗口:应用程序>系统工具>终端 如何获取root 权限:在终端下,输入su 再输入密码(密码不显示在屏幕上) 如何将英文版转换成中文: [root@localhost ~]# ...
- IP、子网的详述 ——IP分类、网关地址,子网掩码、子网作用(转)
IP地址 在Internet上连接的所有计算机,从大型机到微型计算机都是以独立的身份出现,我们称它为主机.为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址.就好像每一个住宅都有唯一的门 ...
- 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)
目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 第2版:htt ...
- 两行代码实现微信小程序联系人sidebar
话不多说,先给你们看看核心数据和结构: 一.数据: city的json array,letter的array (city的json array里的首字母是我手工放置进去的,你也可以通过for循环获得c ...
- ICSharpCode.TextEditor如何自定义代码折叠和高亮
ICSharpCode.TextEditor 是一款非常不错的.NET代码编辑控件,内置了多种高亮语言支持,同时完美支持中文,非常赞!先来看一下运行效果: 1 项目结构 这里需要注意lib文件夹下导入 ...