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 + -
显示快捷键?