1315.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 46 行
TXT
46 行
#include"iostream.h"
int p='o',n;
int find(const char my[4][4])
{int i,j,k,l,h,max=0,t=0;char m[4][4];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(my[i][j]=='.')
{
for(l=0;l<n;l++)
for(h=0;h<n;h++)m[l][h]=my[l][h];
m[i][j]=p;
k=j+1;
while(k<n&&m[i][k]!='X'){m[i][k++]=p;}
k=j-1;
while(k>=0&&m[i][k]!='X'){m[i][k--]=p;}
k=i+1;
while(k<n&&m[k][j]!='X'){m[k++][j]=p;}
k=i-1;
while(k>=0&&m[k][j]!='X'){m[k--][j]=p;}
t=find(m)+1;
if(t>max){max=t;}
}
return max;
}
void main()
{int answer,i,j;char m[4][4];
while(1)
{cin>>n;
if(cin.fail())break;
if(n==0)break;
for(i=0;i<n;i++)
for(j=0;j<n;j++)cin>>m[i][j];
answer=find(m);
cout<<answer<<endl;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?