UVA227
来源:互联网 发布:接待最优化 编辑:程序博客网 时间:2024/05/17 05:15
这个代码可是坑死我了,昨晚上写了20分钟写完的,这么水的一个题,坑了我一天,还是瑞哥WCR的源码,当输入非法字符的时候,run了一次发现了不可预知的问题。
#include <stdio.h>
#include <string.h>
#define N 10
#define Ns 100
int main()
{
char puzzle[N][N];
char s;
char c;
int u=0;
while(1)
{
int i,j,k1,k2,wrong=0;
for(i=0;i<5;i++)
for(j=0;j<6;j++)
{
puzzle[i][j]=getchar();
if(puzzle[i][j]=='Z')
goto END;
if(puzzle[i][j]==32)
{
k1=i;
k2=j;
}
}
if(u)
printf("\n");
for(i=0,s=getchar();s!='0';)
{
if(s==10)
{
s=getchar();
continue;
}
if(s=='A')
{
if(k1>0)
{
puzzle[k1][k2]=puzzle[k1-1][k2];
k1=k1-1;
puzzle[k1][k2]=32;
}
else
wrong=1;
}
else if(s=='B')
{
if(k1<4)
{
puzzle[k1][k2]=puzzle[k1+1][k2];
k1=k1+1;
puzzle[k1][k2]=32;
}
else
wrong=1;
}
else if(s=='L')
{
if(k2>0)
{
puzzle[k1][k2]=puzzle[k1][k2-1];
k2=k2-1;
puzzle[k1][k2]=32;
}
else
wrong=1;
}
else if(s=='R')
{
if(k2<4)
{
puzzle[k1][k2]=puzzle[k1][k2+1];
k2=k2+1;
puzzle[k1][k2]=32;
}
else
wrong=1;
}
else
{
wrong=1;
}
s=getchar();
}
getchar();
printf("Puzzle #%d:\n",++u);
if(wrong)
printf("This puzzle has no final configuration.\n");
else
{
for(i=0;i<5;i++)
for(j=0;j<6;j++)
{
if(j&&j!=5)
printf(" ");
putchar(puzzle[i][j]);
}
}
}
END:;
return 0;
}
- UVA227
- uva227
- UVA227
- Uva227
- UVa227
- Uva227
- UVa227
- UVa227
- UVA227
- UVA227
- Uva227 - Puzzle
- uva227 谜题
- Uva227.Puzzle
- UVA227-Puzzle
- UVa227 Puzzle
- uva227 - Puzzle
- Puzzle,UVa227
- UVA227--谜题
- Java语言之动态规划实现01背包
- JAVA - 基本数据类型
- 常用API
- nginx 新手攻略 Ubuntu Linux下安装配置教程
- LightOJ 1422 Halloween Costumes(区间dp)
- UVA227
- Python 变量作用域问题 函数名.变量名
- android samples 之 Snake分析
- TortoiseSVN中Branching和Merging实践
- 腾达N300路由器无线网络,XP电脑连接速度很慢
- 54张手绘PPT看懂Google是如何运作的
- 后台服务播放器
- 缅怀惨痛的处女面
- Is functional analysis relevant to machine learning?