#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <memory.h>
int fuction(char m[10][10]) {
int x,y;
for(y=0;y<10;y++) {
for(x=0;x<10;x++) {
printf("%c ",m[x][y]);
}
printf("\n");
}
return 0;
}
int main() {
srand(time(NULL));
int x=-1,y=0,direction,flag,up,right,down,left;
char ch, m[10][10];
int fuction(char m[10][10]);
memset(m,'.',100);
for(ch='A';ch<=90;ch++) {
flag=0,up=0,right=0,down=0,left=0;
while(1) {
direction = rand()%4;
switch(direction) {
case 0 :
if(y>0 && m[x][y-1]=='.') {
y--;
m[x][y]=ch;
flag=1;
}
else up=1;
break;
case 1 :
if(x<9 && m[x+1][y]=='.'){
x++;
m[x][y]=ch;
flag=1;
}
else right=1;
break;
case 2 :
if(y<9 && m[x][y+1]=='.'){
y++;
m[x][y]=ch;
flag=1;
}
else down=1;
break;
case 3 :
if(x>0 && m[x-1][y]=='.'){
x--;
m[x][y]=ch;
flag=1;
}
else left=1;
break;
}
if(up==1&&right==1&&down==1&&left==1) {
return fuction(m);
}
if(flag==1)
break;
}
}
return fuction(m);
}