ACM poj2811 熄灯问题为什么错 dfs做的

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:32:59
实在找不出哪里有问题..请大侠帮忙解决.
我的代码
题目:http://poj.grids.cn/problem?id=2811
#include<iostream>
#include<fstream>
int press[7][7];
int map[7][7];
int flag[7][7];
int stomap[7][7];
bool find=false;
using namespace std;
bool check()
{
for(int i=1;i<=5;i++)
{
for(int j=1;j<=6;j++)
{
if(map[i][j]==1){find=false;return false;}
}
}
find=true;
return true;
}
void change2()
{
memcpy(map,stomap,sizeof(map));//把stomap的值都赋给对应的map
for(int ii=2;ii<=5;ii++)
{
for(int jj=1;jj<=6;jj++)
press[ii][jj]=0;
}
}
void change()
{
int i,j;
for(int ip=1;ip<=6;ip++)
{
if(press[1][ip]==1)
{
map[1][ip]=1-map[1][ip];
map[1][ip-1]=1-map[1][ip-1];

#include<iostream>
#include<fstream>
int press[7][7];
int map[7][7];
int flag[7][7];
int stomap[7][7];
bool find=false;
using namespace std;
bool check()
{
for(int i=1;i<=5;i++)
{
for(int j=1;j<=6;j++)
{
if(map[i][j]==1){find=false;return false;}
}
}
find=true;
return true;
}
void change2()
{
memcpy(map,stomap,sizeof(map));//把stomap的值都赋给对应的map
for(int ii=2;ii<=5;ii++)
{
for(int jj=1;jj<=6;jj++)
press[ii][jj]=0;
}
}
void change()
{
int i,j;
for(int ip=1;ip<=6;ip++)
{
if(press[1][ip]==1)
{
map[1][ip]=1-map[1][ip];
map[1][ip-1]=1-map[1][ip-1];
map[1][ip+1]=1-map[1][ip+1];
map[2][ip]=1-map[2][ip];
}
}
for(i=2;i<=5;i++)
{
for(j=1;j<=6;j++)
{