【习题 3-5 UVA-227】Puzzle
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
模拟题。。
输入稍微恶心了点。
getchar()一个一个搞就好。
【代码】
#include <bits/stdc++.h>
using namespace std;
const int N = 5;
string s[N + 5],s2;
char S[N + 5][N + 5];
int x, y;
bool ok()
{
bool ok = true;
for (char key = getchar();key !='0';key = getchar())
{
if (!ok) continue;
int x2 = x, y2 = y;
switch (key)
{
case 'A':
{
x2--;
break;
}
case 'B':
{
x2++;
break;
}
case 'L':
{
y2--;
break;
}
case 'R':
{
y2++;
break;
}
default:
break;
}
if (x2 <= 0 || x2 >= 6 || y2 <= 0 || y2 >= 6) {
ok = false; continue;
}
swap(S[x][y], S[x2][y2]);
x = x2, y = y2;
}
getchar();
return ok;
}
int main()
{
/*freopen("F:\\rush.txt", "r", stdin);*/
int kase = 0;
while (getline(cin,s[1]) && s[1][0]!='Z')
{
if (kase > 0) puts("");
kase++;
printf("Puzzle #%d:\n",kase);
for (int i = 2; i <= 5; i++) getline(cin, s[i]);
for (int i = 1; i <= 5; i++)
for (int j = 1; j <= 5; j++)
{
S[i][j] = s[i][j - 1];
if (S[i][j] == ' ')
{
x = i, y = j;
}
}
if (ok())
{
for (int i = 1; i <= 5; i++)
for (int j = 1; j <= 5; j++)
{
cout << S[i][j];
if (j == 5) cout << endl;
else cout << ' ';
}
}
else
cout << "This puzzle has no final configuration." << endl;
}
return 0;
}
【习题 3-5 UVA-227】Puzzle的更多相关文章
- uva 227 Puzzle
Puzzle A children's puzzle that was popular 30 years ago consisted of a 5x5 frame which contained ...
- UVA 227 Puzzle - 输入输出
题目: acm.hust.edu.cn/vjudge/roblem/viewProblem.action?id=19191 这道题本身难度不大,但输入输出时需要特别小心,一不留神就会出问题. 对于输入 ...
- UVA 227 Puzzle(基础字符串处理)
题目链接: https://cn.vjudge.net/problem/UVA-227 /* 问题 输入一个5*5的方格,其中有一些字母填充,还有一个空白位置,输入一连串 的指令,如果指令合法,能够得 ...
- uva 227 Puzzle (UVA - 227)
感慨 这个题实在是一个大水题(虽然说是世界决赛真题),但是它给出的输入输出数据,标示着老子世界决赛真题虽然题目很水但是数据就能卡死你...一直pe pe直到今天上午AC...无比感慨...就是因为最后 ...
- Puzzle UVA - 227 PE代码求大佬指点
A children's puzzle that was popular 30 years ago consisted of a 5×5 frame which contained 24 smal ...
- UVA 277 Puzzle
题意:输入5x5的字符串,输入操作,要求输出完成操作后的字符串. 注意:①输入的操作执行可能会越界,如果越界则按题目要求输出不能完成的语句. ②除了最后一次的输出外,其他输出均要在后面空一行. ③操作 ...
- 习题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 ...
- UVA 227 周期串
题意: 给一个字符串,寻找最短的循环节 如abcabcabcabc以3为周期,也按6和12为周期. 分析: 因为循环节肯定是相等的,所以枚举串长度的所有约数的循环节再判断是否相等即可. 我的方法是枚举 ...
- 【习题 7-8 UVA-12107】Digit Puzzle
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 迭代加深搜索. 枚举最大层数.(也即改变的数字个数 然后枚举第一个改哪个数字,第二个改哪个数字.. 一定要注意字典序问题. 每次优先 ...
- Uva227.Puzzle
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
随机推荐
- android 图片特效处理之怀旧效果
图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理.也就是说只要你知道这些算法不管是C++,VB,C#,Java都可以做出相同的特效.下面将介绍图片怀旧效果的算法.算法如下: 上面公式 ...
- RTP 和 RTSP的区别
RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议.RTP被定义为在一对一或一对多的传输情况下工作.其目的是提供时间信息和实现流同 ...
- 32.idea导入maven项目 无法加载依赖包
maven Project重新导入即可
- Js将类数组转化为数组
说起伪数组,大家可能会想到arguments, 这个我们函数参数的一个类数组,是类数组的代表. 1.拥有length属性,可以使用下标来访问元素,这两点和数组相同. 2.不能使用数组的方法,他们不能使 ...
- kafka自带没web ui界面,怎么办?安装个第三方的
见 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)
- string StartsWith 方法 Https
public ActionResult Index() { string url = "Https://www.baodu.com"; ...
- BootStrap_Table 学习
https://blog.csdn.net/heting90/article/details/52248729 $("#realTime_Table").bootstrapTabl ...
- BootStrap_table.js 学习
@{ Layout = null; ViewBag.Title = "基于BootstrapTable的简单应用";} <!--添加相关样式引用--><link ...
- poweroff---关闭计算机操作系统并且切断系统电源。
poweroff命令用来关闭计算机操作系统并且切断系统电源. 语法 poweroff(选项) 选项 -n:关闭操作系统时不执行sync操作: -w:不真正关闭操作系统,仅在日志文件“/var/log/ ...
- 10lession-if-else条件语句
python的条件选择语句跟其他语言的及其相似,这里就不做详细记录,仅仅是看个例子好了 #!/usr/bin/python "]: print('1 in [1,2,3,"4&qu ...