UVA - 227 Puzzle
来源:互联网 发布:电脑美工收入 编辑:程序博客网 时间:2024/05/22 05:25
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,len,kase=0,flag=0;
char st[10][10],ord[1000];
while(gets(st[0]))
{
if(st[0][0]=='Z') break;
if(flag==1) printf("\n");
flag=1;
int a,b;
int k=0;
int ans=0;
for(i=1;i<5;i++)
gets(st[i]);
while(~scanf("%c",&ord[k]))
{
if(ord[k]=='0') break;
k++;
}
getchar();
len=strlen(ord);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(st[i][j]==' ')
{
a=i;
b=j;
i=100;
break;
}
}
printf("Puzzle #%d:\n",++kase);
for(i=0;i<len;i++)
{
if(ord[i]=='0') break;
if(ord[i]=='A')
{
if(a==0)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a-1][b];
st[a-1][b]=t;
a=a-1;
}
else if(ord[i]=='B')
{
if(a==4)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a+1][b];
st[a+1][b]=t;
a=a+1;
}
else if(ord[i]=='L')
{
if(b==0)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a][b-1];
st[a][b-1]=t;
b=b-1;
}
else if(ord[i]=='R')
{
if(b==4)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a][b+1];
st[a][b+1]=t;
b=b+1;
}
}
if(ans==0)
{
for(i=0;i<5;i++)
{
printf("%c",st[i][0]);
for(j=1;j<5;j++)
printf(" %c",st[i][j]);
printf("\n");
}
memset(st,0,sizeof(st));
memset(ord,0,sizeof(st));
}
}
return 0;
#include <string.h>
int main()
{
int i,j,len,kase=0,flag=0;
char st[10][10],ord[1000];
while(gets(st[0]))
{
if(st[0][0]=='Z') break;
if(flag==1) printf("\n");
flag=1;
int a,b;
int k=0;
int ans=0;
for(i=1;i<5;i++)
gets(st[i]);
while(~scanf("%c",&ord[k]))
{
if(ord[k]=='0') break;
k++;
}
getchar();
len=strlen(ord);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(st[i][j]==' ')
{
a=i;
b=j;
i=100;
break;
}
}
printf("Puzzle #%d:\n",++kase);
for(i=0;i<len;i++)
{
if(ord[i]=='0') break;
if(ord[i]=='A')
{
if(a==0)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a-1][b];
st[a-1][b]=t;
a=a-1;
}
else if(ord[i]=='B')
{
if(a==4)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a+1][b];
st[a+1][b]=t;
a=a+1;
}
else if(ord[i]=='L')
{
if(b==0)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a][b-1];
st[a][b-1]=t;
b=b-1;
}
else if(ord[i]=='R')
{
if(b==4)
{
printf("This puzzle has no final configuration.\n");
ans=1;
break;
}
int t=st[a][b];
st[a][b]=st[a][b+1];
st[a][b+1]=t;
b=b+1;
}
}
if(ans==0)
{
for(i=0;i<5;i++)
{
printf("%c",st[i][0]);
for(j=1;j<5;j++)
printf(" %c",st[i][j]);
printf("\n");
}
memset(st,0,sizeof(st));
memset(ord,0,sizeof(st));
}
}
return 0;
}
心得:没什么好说的,调试比较麻烦= =
0 0
- UVa 227 - Puzzle
- UVa 227 - Puzzle
- Uva-227-Puzzle
- UVa 227 Puzzle
- UVA - 227 Puzzle
- Uva-227 - Puzzle-AC
- UVa 227 - Puzzle
- UVa-227 - Puzzle
- 【Uva 227】 Puzzle
- UVa 227 - Puzzle
- UVa 227 Puzzle
- UVA - 227 Puzzle
- Uva - 227 - Puzzle
- UVA - 227 Puzzle
- UVa 227 Puzzle
- UVA 227 Puzzle
- UVa 227 - Puzzle
- UVa 227 Puzzle
- 2013 ACM-ICPC吉林通化全国邀请赛 && HDU 4499 Cannon (搜索)
- final关键字
- codeforces 466B Wonder Room 数学?
- html5 canvas 标签绘制图像且渐变色处理
- karatsuba乘法及相关实现
- UVA - 227 Puzzle
- 队列基本操作
- JAVA 日期赋值及比较
- php使用命名空间:别名/导入
- 微信支付文档链接
- iOS多线程使用实例(异步下载图片的时候不会阻塞主线程的执行)
- 利用结果集元数据将查询结果封装成Map
- 8-v4l2——basic frame IO 基本的帧缓冲IO 输入输出
- sql笔记