谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)
生活随笔
收集整理的這篇文章主要介紹了
谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:算法競賽入門經典習題3-5
?
題目思路:模擬題
#include <stdio.h> #include <string.h> #define maxn 55 char gird[maxn][maxn] ; char cmd[maxn] ; int blank_x,blank_y ; int main(int argc, char *argv[]) {int flag = 1;for(int i=0;i<5;i++)gets(gird[i]) ;for(int i=0;i<5;i++)for(int j=0;j<5;j++)if(gird[i][j]==' '){blank_x = i;blank_y = j;}while(gets(cmd)){int len = strlen(cmd) ;for(int i=0;i<len;i++){if(cmd[len-1] == '0' || cmd[i] == 'A' || cmd[i] == 'R' || cmd[i] == 'B' || cmd[i] == 'L' ){if(cmd[i] == 'A' && blank_x != 0){gird[blank_x][blank_y] = gird[blank_x-1][blank_y];gird[--blank_x][blank_y] = ' ';}if(cmd[i] == 'R' && blank_y != 4){gird[blank_x][blank_y] = gird[blank_x][blank_y+1];gird[blank_x][++blank_y] = ' ';}if(cmd[i] == 'B' && blank_x != 4){gird[blank_x][blank_y] = gird[blank_x+1][ blank_y];gird[++blank_x][ blank_y] = ' ';}if(cmd[i] == 'L' && blank_y != 0){gird[blank_x][blank_y] = gird[blank_x][ blank_y-1];gird[blank_x][--blank_y] = ' ';}}else flag = 0;}if(flag){for(int i = 0; i < 5; i++){printf("%c %c %c %c %c\n", gird[i][0], gird[i][1], gird[i][2], gird[i][3], gird[i][4]);}}elseprintf("This puzzle has no final configuration.\n");}return 0; }?
轉載于:https://www.cnblogs.com/secoding/p/9484798.html
總結
以上是生活随笔為你收集整理的谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis配置文件讲解
- 下一篇: JavaScript 事件机制