poj3740

poj3740

dfs

ContractedBlock.gif
ExpandedBlockStart.gif
View Code

#include <iostream>
#include
<cstdio>
#include
<cstdlib>
#include
<cstring>
using namespace std;

#define maxn 20
#define maxm 305

int n, m;
int map[maxn][maxm];
int num[maxn];
bool g[maxn][maxn];
int rownum[maxn];
bool found;

void input()
{
memset(num,
0, sizeof(num));
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
int a;
scanf(
"%d", &a);
if (a == 0)
map[i][j]
= 0;
else
{
map[i][j]
= 1;
num[i]
++;
}
}
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
bool ok = true;
for (int k = 0; k < m; k++)
if (map[i][k] && map[j][k])
{
ok
= false;
break;
}
if (ok)
g[i][j]
= true;
else
g[i][j]
= false;
}
}

void dfs(int tot, int now, int ans)
{
if (found)
return;
if (now == n)
{
if (ans == m)
found
= true;
return;
}
dfs(tot, now
+ 1, ans);
bool ok = true;
for (int i = 0; i < tot; i++)
if (!g[rownum[i]][now])
{
ok
= false;
break;
}
if (ok)
{
rownum[tot]
= now;
dfs(tot
+ 1, now + 1, ans + num[now]);
}
}

int main()
{
//freopen("t.txt", "r", stdin);
while (scanf("%d%d", &n, &m) != EOF)
{
found
= false;
input();
dfs(
0, 0, 0);
if (found)
printf(
"Yes, I found it\n");
else
printf(
"It is impossible\n");
}
return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110591.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月12日 下午2:00
下一篇 2021年8月12日 下午3:00


相关推荐

  • 感知机分析

    感知机分析关于感知机okletsgo。感知机是线性分类模型,划重点注意哦,是线性的分类模型。也就是说,如果你拿感知机去分类线性不可分的数据集的话,它的效果想必垂泪。因为近期看到相关算法的缘故来写一片感知机的文章,主要介绍一下这是个什么东西以及它能用来干什么。就我来说最考试接触到感知机是在学习神经网络的时候,神经网络中的每一个点就能看做是一个感知机。上图大概就是感知机的构造了。了解神经…

    2022年10月21日
    6
  • sntp服务器位置,sntp的服务器地址

    sntp服务器位置,sntp的服务器地址sntp的服务器地址内容精选换一换介绍常见的安全组配置示例。如下示例中,出方向默认全通,仅介绍入方向规则配置方法。不同安全组内的云耀云服务器内网互通仅允许特定IP地址远程连接云耀云服务器SSH远程连接Linux云耀云服务器RDP远程连接Windows云服务器公网ping云耀云服务器云耀云服务器作Web服务器云耀云服务器作DNS服务器使用FTP上传或下载文件场景举例:在介绍常见的安全组配置示例…

    2025年7月15日
    4
  • Tirea:Rust AI Agent 框架——同时服务 CopilotKit 和 Vercel AI SDK,多智能体编排开箱即用

    Tirea:Rust AI Agent 框架——同时服务 CopilotKit 和 Vercel AI SDK,多智能体编排开箱即用

    2026年3月14日
    3
  • 浅解一下BS和CS的区别

    浅解一下BS和CS的区别提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档文章目录前言一 CS 二 BS 总结前言本文章记录 BS 和 CS 的区别和优缺点一 CSCS 客户端服务器架构模式优点 充分利用客户端机器的资源 减轻服务器的负荷 一部分安全要求不高的计算任务存储任务放在客户端执行 不需要把所有的计算和存储都在服务器端执行 从而能够减轻服务器的压力 也能够减轻网络负荷 缺点 需要安装 升级维护成本较高例如 就像平时玩游戏 假如它不是 CS 模式是 BS 模式 通过网页的方式展示的 如果你的网络有些卡 你正

    2026年3月18日
    1
  • 【教程】2026年OpenClaw(Clawdbot)零基础10分钟安装集成Skill喂奶级方法

    【教程】2026年OpenClaw(Clawdbot)零基础10分钟安装集成Skill喂奶级方法

    2026年3月14日
    3
  • 保姆级解析:大模型+Agent全栈架构图,程序员必收藏!

    保姆级解析:大模型+Agent全栈架构图,程序员必收藏!

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号