| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
帮忙看看,为什么re?实在不明白了#include <iostream>
using namespace std;
bool occupancy(int i, int j, int d)
{
if(d==1)
return true;
int x,y;
x = i;
y = j;
if (d==2)
{
if ( (x==0 && y ==1) || (x==1 && y ==0) || (x==1 && y ==2) || (x==2 && y==1) )
return false;
else
return true;
}
int len = 1;
for(x=2; x<d; x++)
len *= 3;
if(i < len)
x = 0;
else if(i < 2*len)
x = 1;
else
x = 2;
if(j < len)
y = 0;
else if(j < 2*len)
y = 1;
else
y = 2;
if ( (x==0 && y ==1) || (x==1 && y ==0) || (x==1 && y ==2) || (x==2 && y==1) )
return false;
return occupancy(i-x*len, j-y*len, d-1);
}
int main()
{
int d, i, j;
while(true)
{
scanf("%d", &d);
if(d==0) break;
int wid = 1;
for(i=1; i<d; i++)
wid *= 3;
for(i=0; i<wid; i++)
{
for(j=0; j<wid; j++)
{
if( occupancy(i ,j , d))
printf("X");
else
printf(" ");
}
printf("\n");
}
printf("-\n");
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator