poj3740
#include<stdio.h>
#include<iostream>
int map[16][300];
int vistx[16];
int visty[300];
int zhenflag=0;
int X;
int Y;
void xuanlie(int lie)
{
if(zhenflag==1)
return ;
if(lie==Y)
{
zhenflag=1;
printf("Yes, I found it\n");
return;
}
if(visty[lie]==1)
{
xuanlie(lie+1);
}
else
{
for(int i=0;i<X;i++)
{
int flag=0;
if(map[i][lie]==1&&vistx[i]==0&&visty[lie]==0)
{
for(int j=0;j<Y;j++)
{
if(visty[j]==1&&map[i][j]==1)
{
flag=1;
break;
}
}
if(flag==1)
continue;
vistx[i]=1;
for(int j=0;j<Y;j++)
{
if(map[i][j]==1)
{
visty[j]=1;
}
}
xuanlie(lie+1);
for(int j=0;j<Y;j++)
{
if(map[i][j]==1)
{
visty[j]=0;
}
}
vistx[i]=0;
}
}
}
}
int main()
{
freopen("in.txt","r",stdin);
while(scanf("%d%d",&X,&Y)!=EOF)
{
for(int i=0;i<X;i++)
{
for(int j=0;j<Y;j++)
{
scanf("%d",&map[i][j]);
}
}
zhenflag=0;
for(int i=0;i<X;i++)
vistx[i]=0;
for(int i=0;i<Y;i++)
visty[i]=0;
xuanlie(0);
if(zhenflag==0)
printf("It is impossible\n");
}
return 0;
}
poj3740的更多相关文章
- [poj3740]Easy Finding_状态压缩_dfs
Easy Finding poj-3470 题目大意:给你一个01矩阵,问能否选出一些行,使得这些行所新组成的01矩阵每列中有且只有1个1. 注释:1<=行数<=16,1<=列数&l ...
- POJ3740 Easy Finding 舞蹈链 DLX
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目 精确覆盖问题模板题 算法 DLX算法 学习DLX算法--传送门 代码 #include <cstring> ...
- 【POJ3740】Easy Finding DLX(Dancing Links)精确覆盖问题
题意:多组数据,每组数据给你几行数,要求选出当中几行.使得每一列都有且仅有一个1.询问是可不可行,或者说能不能找出来. 题解:1.暴搜.2.DLX(Dancing links). 本文写的是DLX. ...
- POJ 1321
http://poj.org/problem?id=1321 一道深搜的题目,和那个POJ3740有点相类似. 也是到了现在我才知道原来深搜也有几种套路的,以前我的都是用队列来做,那个是不需要记住什么 ...
- poj练习题的方法
poj1010--邮票问题 DFSpoj1011--Sticks dfs + 剪枝poj1020--拼蛋糕poj1054--The Troublesome Frogpoj1062--昂贵的聘礼poj1 ...
- dancing link 学习资源导航+心得
dancing link简直是求解数独的神器,NOIP2009最后一题靶形数独,DFS 各种改变搜索顺序 都没法过,最后还是用了卡时过得.用dancing link写,秒杀所有数据,总时间才400ms ...
- 【转】Dancing Links题集
转自:http://blog.csdn.net/shahdza/article/details/7986037 POJ3740 Easy Finding [精确覆盖基础题]HUST1017 Exact ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- 舞蹈链 DLX
欢迎访问——该文出处-博客园-zhouzhendong 去博客园看该文章--传送门 舞蹈链是一个非常玄学的东西…… 问题模型 精确覆盖问题:在一个01矩阵中,是否可以选出一些行的集合,使得在这些行的集 ...
随机推荐
- 深入Nginx
Nginx功能模块汇总 --with-http_core_module #包括一些核心的http参数配置,对应nginx的配置为http区块部分 --with-http_access_module # ...
- 十一. 一步步破解JEB 2.0demo版一
字符串解密算法还愿 jeb.jar为核心功能,所以主要分析这个 1. jar转dex在使用jeb分析 Android\sdk\build-tools\23.0.3 dx.bat --dex --out ...
- what's cloud computing? IaaS
Cloud computing has changed the ITC industry. Companies like Amazon, Google and Microsoft have built ...
- java2
1:关键字(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 全部小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这样的高级记事本会对关键字 ...
- mysql ERROR 1045 (28000): 错误解决办法
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) ERROR 1045 (28000 ...
- C#通过事件跨类调用WPF主窗口中的控件
xaml.cs文件: using System; using System.Timers; using System.Windows; using System.Windows.Forms; name ...
- linux下动态链接库解决方案(二)
以前写过一个关于linux下用c++写动态链接库无法通过的解决方案,今天看到<linux C程序设计-王者归来>这本书,书中有个更容易的解决方案,特此记录下来 书中使用的是c语言,我改用c ...
- tp5 中 model 的聚合查询
方法 说明 Count 统计数量,参数是要统计的字段名(可选) Max 获取最大值,参数是要统计的字段名(必须) Min 获取最小值,参数是要统计的字段名(必须) Avg 获取平均值,参数是要统计的字 ...
- asp.net ajax 调用后台方法
js代码 <form id="form1" runat="server"> <script language=javascript type= ...
- thinkphp 杂项(3.2.3)
G('start');//时间描点start php代码.... G('end');//时间描点end echo G('start','end',4).'-----------'; 时间统计echo ...