各位大佬都好厉害……

这个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 (恶心模拟)的更多相关文章

  1. ACM/ICPC 之 用双向链表 or 模拟栈 解“栈混洗”问题-火车调度(TSH OJ - Train)

    本篇用双向链表和模拟栈混洗过程两种解答方式具体解答“栈混洗”的应用问题 有关栈混洗的定义和解释在此篇:手记-栈与队列相关 列车调度(Train) 描述 某列车调度站的铁道联接结构如Figure 1所示 ...

  2. 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 ...

  3. 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 ...

  4. HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)

    HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...

  5. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...

  6. 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 ...

  7. 【转】ACM/ICPC生涯总结暨退役宣言—alpc55

    转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写 ...

  8. 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 ...

  9. hduoj 4706 Children&#39;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) ...

随机推荐

  1. map reduce程序示例

    map reduce程序示例 package test2; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop. ...

  2. Python模块的导入以及软件开发规范

    Python文件的两种用途 1 . 当脚本直接使用,直接当脚本运行调用即可 def func(): print("from func1") func() 2 . 当做模块被导入使用 ...

  3. .NET Framework 类库——C#命名空间大全

    引用地址:https://msdn.microsoft.com/zh-cn/library/gg145045.aspx C# using引用时,不知道有哪些命名空间,这下转载收集一篇,方面查找使用. ...

  4. 解决AS gradle下载同步卡慢的问题

    国内因为GFW的原因,导致同步谷歌等服务器的插件源非常非常慢,几乎是龟爬,还好有阿里云的镜像源,据说速度很快,还不快试试: 1.build.gradle里的buildscript和allproject ...

  5. Visual Studio 2017 IDE之xml过大报错

    XML处理时遇到这个错误 在powershell中输入 $vsWherePath = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual ...

  6. JS浮点计算精度问题分析与解决

    问题描述 在JS计算四则运算时会遇到精度丢失的问题,会引起诸多问题,看看以下例子: 例如:在chrome控制台输入 0.1 + 0.7 输出结果是 0.7999999999999999 例如:0.1+ ...

  7. 2016-06-18 exshop第四天

    昨天本来想完成用asset-pipeline替换掉resource插件的工作,但由于进行了对spring security插件的文档解读,同时面试了4个人,每个人耗费了30分钟,并且公司下午4:30组 ...

  8. 【Android】ImageView ScaleType属性值

    ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的 ...

  9. LVM实现逻辑卷镜像

    本文系统 CentOS 6.5 x64 LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失. 1.在此添加4块物理硬盘,每块2G空间 2.将sdb.sdc.sdd.sde ...

  10. netty03(基于4.1.23.Final 版本的案例)

    基于前面的netty01和netty02修改一下版本,可以点进去的 将maven依赖版本改了一下 <!-- netty版本:netty-5.0.0.Alpha2 http://files.cnb ...