开始 2024-08-20 08:00:00

8.19-8.24集训第二天

结束 2024-08-25 00:00:00
Contest is over.
当前 2024-12-22 14:02:44

...

include <bits/stdc++.h>

using namespace std; char fie[5][5],q[5][5]; int n,ans,sum,f; int row[5],line[5]; void dfs(int x,int y) {

for(int i=y;i<=n;i++) {
	if(q[x][y]=='.'&&fie[x][y]=='.'&&!row[x]&&!line[y]) {
		fie[x][y]='R';
		row[x]=1;
		line[y]=1;
	} else if(q[x][y]=='X') row[x]=line[y]=0;
	else if(fie[x][y]=='R') continue;
	if(x==n&&y==n) {
		for(int i=1;i<=n;i++) {
			for(int j=1;j<=n;j++) {
				if(fie[i][j]=='R') sum++;
			}
		}
		ans=max(ans,sum);
		sum=0;
		return;
	}
	else if(y==n) {
		dfs(x+1,1);
		fie[x][y]='.';
		return; 
	}
	else {
		dfs(x,y+1);
		fie[x][y]='.';
		return;
	}
}

} int main() {

while(cin>>n&&n) {
	ans=0;
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=n;j++) {
			cin>>q[i][j];
		}
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=n;j++) {
			sum=0;
			memset(fie,'.',sizeof(fie));
			memset(row,0,sizeof(row));
			memset(line,0,sizeof(line));
			dfs(i,j);
		}
	}
	cout<<ans<<endl;
}
return 0;

}


huangfeibo  •  4个月前

比赛已结束。