[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) ...
随机推荐
- Java利用POI读取Excel
官网直接下载POI http://poi.apache.org/ package com.CommonUtil; import java.io.File; import java.io.FileIn ...
- POJ 1064 Cable master (二分法+精度控制)
Cable master Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65358 Accepted: 13453 De ...
- Java中的IO流总结
Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...
- MySQL Windows 下的安装
my.ini ####################配置文件开始################### # For advice on how to change settings please s ...
- [转] 用webpack的CommonsChunkPlugin提取公共代码的3种方式
方式一,传入字符串参数 new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common. ...
- 【AtCoder】ARC072
ARC072 C - Sequence 直接认为一个数是正的,或者第一个数是负的,每次将不合法的负数前缀和改成+1正数前缀和改成-1 #include <bits/stdc++.h> #d ...
- Javascript转义字符串中的特殊字符处理
Web应用系统中,客户端发送请求到服务器,请求中的字符串参数,在被序列化成json过程中有些特殊字符会被空格代, 导致传递到服务器端再解析的时候,原本的输入参数就会被改变. 目前遇到的特殊字符有加号( ...
- LCA算法解析-Tarjan&倍增&RMQ
原文链接http://www.cnblogs.com/zhouzhendong/p/7256007.html UPD(2018-5-13) : 细节修改以及使用了Latex代码,公式更加美观.改的过程 ...
- ES集群
1. ElasticSerach集群安装 修改配置文件elasticserach.yml [elk@localhost config]$ vi elasticsearch.yml # ------- ...
- Python多继承之MRO算法
MRO即Method Resolution Order 方法解析顺序,它的提出主要是为了解决Python中多继承时,当父类存在同名函数时,二义性的问题 下面先看一个例子: import inspe ...