Uva 227 Puzzle
来源:互联网 发布:三益钢琴js 600na图片 编辑:程序博客网 时间:2024/05/16 13:43
水平真是太低了,这个水题做了两个小时才过。
先是莫名其妙的第二个矩阵错误,找了好久原因,原来是要处理换行符。还有格式错误,原文没仔细看啊。
路漫漫其修远兮。。。
#include<stdio.h>int main(){int rank = 1;while(true){ char nums[5][5];int i, j;int blanki, blankj;for(i = 0; i < 5; i ++){for(j = 0; j < 5; j ++){scanf("%c", &nums[i][j]);if(nums[0][0] == 'Z') return 0;if(nums[i][j] == ' '){blanki = i;blankj = j;}}char c;scanf("%c", &c);}char move;bool legal = true;while(scanf("%c", &move) && move != '0'){if(legal){switch(move){case 'A':if(blanki == 0)legal = false;else{nums[blanki][blankj] = nums[blanki - 1][blankj];nums[blanki - 1][blankj] = ' ';blanki = blanki - 1;}break;case 'B':if(blanki == 4)legal = false;else{nums[blanki][blankj] = nums[blanki + 1][blankj];nums[blanki + 1][blankj] = ' ';blanki = blanki + 1;}break;case 'L':if(blankj == 0)legal = false;else{nums[blanki][blankj] = nums[blanki][blankj - 1];nums[blanki][blankj - 1] = ' ';blankj = blankj - 1;}break;case 'R':if(blankj == 4)legal = false;else{nums[blanki][blankj] = nums[blanki][blankj + 1];nums[blanki][blankj + 1] = ' ';blankj = blankj + 1;}break;default:break;}}}char c;scanf("%c", &c);if(rank != 1)printf("\n");printf("Puzzle #%d:\n", rank++);if(!legal)printf("This puzzle has no final configuration.\n");else{for(i = 0; i < 5; i ++){for(j = 0; j < 5; j ++){printf("%c", nums[i][j]);if(j != 4)printf(" ");elseprintf("\n");}}}}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
- 练习1-15 重新编写1.2节中的温度转换程序,使用函数实现温度转换计算
- Android OpenGL ES2.0编程教程系列之定义形状(二)
- c语言学习笔记之格式控制详细
- 剑指offer(三十六)之栈的压入、弹出序列
- 蓝牙nrf51822空中升级
- Uva 227 Puzzle
- Hello CSDN
- 基因数据处理35之使用samtools和bcftools进行变异分析2--连续处理
- 敏捷开发之Scrum扫盲篇
- android listview分页
- oracle_2 表和约束
- linux的一些小问题
- 后缀数组
- 图像处理需要哪些基础知识