(三)
#包括<stdio.h>//GCC-O3//a(7),在1.5小时内
字符[8];
长-长尺寸;
长-长计算方式(长-长x,长-长-y){
if(grid[x][y])返回0;
网格[x][y]=1;
long long n=计算方式(x==0?尺寸1:x-1,y);//试试西边
如果(尺寸>2)
n+=计算方式(x==尺寸-1?0:x+1,y);//东
如果(y>0)n+=计算方式(x,y-1);//北
如果(y==SIZE-1)n++;
否则n+=计算方式(x,y+1);//南
网格[x][y]=0;
返回n;
}
int main(int argc,字符**argv)
{
对于(大小=1;大小<7;++大小){
memset(grid,0,sizeof(grid));
printf(“%llu”,,计算方式(0,0)*大小);
}
printf(“\n”);
适用于(尺寸=3;尺寸<9;++尺寸){
无符号long long r;
memset(grid,0,sizeof(grid));
网格[0][0]=1;
网格[0][1]=1;
r=计算方式(0,2)*大小;如果(大小>6)打印F(“.”);
r+=计算方式(1,1)*大小*2;如果(大小>6)打印F(“.”);
网格[0][1]=0;
网格[1][0]=1;
r+=计算方式(1,1)*大小*2;如果(大小>6)打印F(“.”);
r+=计算方式(2,0)*大小*2;printf(“%llu”,r);
}
}
|