如图城堡是一个4×4的方格,为了保卫城堡,现需要在某些格子里修建一
些堡垒。城堡中的某些格子是墙,其余格子都是空格,堡垒只能建在空格里,每个堡垒都可以向上下左右四个方向射击,如果两个堡垒在同一行或同一列,且中间没有墙相隔,则两个堡垒都会把对方打掉。问对于给定的一种状态,最多能够修建几个堡垒。
#include "stdio.h"
#include <Windows.h>
void readdata();
void search(int);
void printresult();
void checkmax();
int canplace(int);
void place(int);
void takeout(int);
int A[4][4];
int n=4;
int max=0;
int main(){
readdata(); //读入数据
search(0); //递归搜索
printresult();
system("pause");
}
void readdata(){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
scanf(&#