- 142 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 04:26:02 ]
- >>142
#include <stdio.h> #define X 10 #define Y 10 int map[X][Y]={ {1,1,1,1,1,1,1,1,1,1}, {1,9,0,0,0,1,0,1,0,1}, {1,1,1,1,0,1,0,0,0,1},{1,0,1,0,0,1,1,1,0,1}, {1,0,1,0,1,1,0,0,0,1},{1,0,0,0,1,0,0,1,1,1}, {1,1,0,1,1,0,1,0,0,1},{1,0,0,0,1,0,1,0,1,1}, {1,0,1,0,0,0,0,0,8,1},{1,1,1,1,1,1,1,1,1,1}}; char expr[]=" *+34567SG"; int next(int x, int y) { if (map[x][y] == 0) map[x][y] = 2; if (map[x-1][y] == 9 || map[x-1][y] == 0 && next(x-1, y)) return 1; if (map[x][y-1] == 9 || map[x][y-1] == 0 && next(x, y-1)) return 1; if (map[x+1][y] == 9 || map[x+1][y] == 0 && next(x+1, y)) return 1; if (map[x][y+1] == 9 || map[x][y+1] == 0 && next(x, y+1)) return 1; if (map[x][y] == 2) map[x][y] = 0; return 0; } int main() { int x, y, r=0; for (x=0; x<X; x++) for (y=0; y<Y; y++) if (map[x][y] == 8) next(x, y); for (x=0; x<X; x++) { for (y=0; y<Y; y++) putchar(expr[map[x][y]]); putchar('\n'); } return 0; }
|

|