[UVA227][ACM/ICPC WF 1993]Puzzle (恶心模拟)
各位大佬都好厉害……
这个ACM/ICPC1993总决赛算黄题%%%
我个人认为至少要绿题。
虽然算法上面不是要求很大
但是操作模拟是真的恶心……
主要是输入输出的难。
对于ABLR只需要模拟即可
遇到非法指令退出
(输入输出真的很麻烦啊!!)
贴代码
#include<bits/stdc++.h>
#define MAXN 5
using namespace std;
char grid[MAXN][MAXN];
int blankrow, blankcol, nextrow, nextcol;
int move(char move)
{
if(move == 'A') {
nextrow = blankrow - ;
nextcol = blankcol;
} else if(move == 'B') {
nextrow = blankrow + ;
nextcol = blankcol;
} else if(move == 'L') {
nextrow = blankrow;
nextcol = blankcol - ;
} else if(move == 'R') {
nextrow = blankrow;
nextcol = blankcol + ;
} else
return ;
if(nextrow >= && nextrow < MAXN && nextcol >= && nextcol < MAXN) {
grid[blankrow][blankcol] = grid[nextrow][nextcol];
grid[nextrow][nextcol] = ' ';
blankrow = nextrow;
blankcol = nextcol;
return ;
} else
return ;
}
int main(void)
{
int caseno=, okflag, i, j;
char c;
while((c=getchar()) != 'Z') {
for(i=; i<MAXN; i++)
for(j=; j<MAXN; j++) {
grid[i][j] = c;
if(c == ' ' || c == '\n') {
blankrow = i;
blankcol = j;
grid[i][j] = ' ';
}
c = getchar();
if(j == MAXN- && c == '\n')
c = getchar();
}
okflag = ;
while(c != '') {
if(c != '\n') {
if(move(c)){
okflag = ;
break;
}
}
c = getchar();
if(c == '\n')
c = getchar();
}
while(c != '')
c = getchar();
while(c != '\n')
c = getchar();
if(++caseno > )
printf("\n");
printf("Puzzle #%d:\n", caseno);
if(okflag) {
for(i=; i<MAXN; i++)
printf("%c %c %c %c %c\n", grid[i][], grid[i][], grid[i][], grid[i][], grid[i][]);
} else
printf("This puzzle has no final configuration.\n");
}
return ;
}
[UVA227][ACM/ICPC WF 1993]Puzzle (恶心模拟)的更多相关文章
- ACM/ICPC 之 用双向链表 or 模拟栈 解“栈混洗”问题-火车调度(TSH OJ - Train)
本篇用双向链表和模拟栈混洗过程两种解答方式具体解答“栈混洗”的应用问题 有关栈混洗的定义和解释在此篇:手记-栈与队列相关 列车调度(Train) 描述 某列车调度站的铁道联接结构如Figure 1所示 ...
- hduoj 4708 Rotation Lock Puzzle 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4708 Rotation Lock Puzzle Time Limit: 2000/1000 MS (Java/O ...
- HDU 5873 Football Games 【模拟】 (2016 ACM/ICPC Asia Regional Dalian Online)
Football Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...
- 【转】lonekight@xmu·ACM/ICPC 回忆录
转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...
- 【转】ACM/ICPC生涯总结暨退役宣言—alpc55
转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写 ...
- hduoj 4712 Hamming Distance 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4712 Hamming Distance Time Limit: 6000/3000 MS (Java/Other ...
- hduoj 4706 Children's Day 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4706 Children's Day Time Limit: 2000/1000 MS (Java/Others) ...
随机推荐
- map reduce程序示例
map reduce程序示例 package test2; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop. ...
- Python模块的导入以及软件开发规范
Python文件的两种用途 1 . 当脚本直接使用,直接当脚本运行调用即可 def func(): print("from func1") func() 2 . 当做模块被导入使用 ...
- .NET Framework 类库——C#命名空间大全
引用地址:https://msdn.microsoft.com/zh-cn/library/gg145045.aspx C# using引用时,不知道有哪些命名空间,这下转载收集一篇,方面查找使用. ...
- 解决AS gradle下载同步卡慢的问题
国内因为GFW的原因,导致同步谷歌等服务器的插件源非常非常慢,几乎是龟爬,还好有阿里云的镜像源,据说速度很快,还不快试试: 1.build.gradle里的buildscript和allproject ...
- Visual Studio 2017 IDE之xml过大报错
XML处理时遇到这个错误 在powershell中输入 $vsWherePath = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual ...
- JS浮点计算精度问题分析与解决
问题描述 在JS计算四则运算时会遇到精度丢失的问题,会引起诸多问题,看看以下例子: 例如:在chrome控制台输入 0.1 + 0.7 输出结果是 0.7999999999999999 例如:0.1+ ...
- 2016-06-18 exshop第四天
昨天本来想完成用asset-pipeline替换掉resource插件的工作,但由于进行了对spring security插件的文档解读,同时面试了4个人,每个人耗费了30分钟,并且公司下午4:30组 ...
- 【Android】ImageView ScaleType属性值
ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的 ...
- LVM实现逻辑卷镜像
本文系统 CentOS 6.5 x64 LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失. 1.在此添加4块物理硬盘,每块2G空间 2.将sdb.sdc.sdd.sde ...
- netty03(基于4.1.23.Final 版本的案例)
基于前面的netty01和netty02修改一下版本,可以点进去的 将maven依赖版本改了一下 <!-- netty版本:netty-5.0.0.Alpha2 http://files.cnb ...