AcWing 378. 骑士放置(最大独立集&&匈牙利算法)

2023-11-17

输入样例:
2 3 0
输出样例:
4

解析:

        题意为求最大独立集,即为总点数 - 最小点覆盖。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=110;
int n,m,t;
int g[N][N],vis[N][N];
pair<int,int>match[N][N];
int dir[8][2]={2,1,2,-1,1,2,1,-2,-2,1,-2,-1,-1,2,-1,-2};
int check(int x,int y){
	return x>0&&y>0&&x<=n&&y<=m;
}
bool find(int x,int y){
	for(int i=0;i<8;i++){
		int dx=x+dir[i][0];
		int dy=y+dir[i][1];
		if(check(dx,dy)&&!vis[dx][dy]&&!g[dx][dy]){
			vis[dx][dy]=1;
			pair<int,int>p=match[dx][dy];
			if(p.first==0||find(p.first,p.second)){
				match[dx][dy]={x,y};
				return true;
			}
		}
	}
	return false;
}
int main(){
	scanf("%d%d%d",&n,&m,&t);
	for(int i=1;i<=t;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		g[x][y]=1;
	}
	int res=n*m-t;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if((i+j)%2&&!g[i][j]){
				memset(vis,0,sizeof vis);
				if(find(i,j)) res--;
			}
		}
	}
	cout<<res;
	return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AcWing 378. 骑士放置(最大独立集&&匈牙利算法) 的相关文章

  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 如何知道并加载特定文件夹中的所有图像?

    我有一个应用程序 C Builder 6 0 需要知道特定文件夹中的图像总数 然后我必须加载它们 在 ImageList 或 ComboBoxEx 中 或任何其他控件中 我怎样才能做到这一点 我知道如何在控件中加载图像 或保存在 TList
  • 如何向 UWP 项目添加 .NET dll 引用?

    我有几个适用于 NETv4 x 的 NET dll 项目 我将版本更改为 4 6 1 并重新构建 没有出现问题 当我尝试从 UWP 项目向它们添加引用时 出现错误 项目的目标是 NETCore 而文件引用的目标是 NET框架 这不是受支持的
  • boost线程在中断时不打印退出消息

    我有这段代码用于执行三个线程 其中第二个线程应在按 Enter 时中断并打印退出消息 void input val DO STUFF return void process val DO STUFF try cout lt lt waiti
  • 实体框架代码优先 - 在另一个文件中配置

    使用 Fluent API 将表到实体的映射分开的最佳方法是什么 以便它全部位于单独的类中 而不是内联在 OnModelCreating 方法中 我目前在做什么 public class FooContext DbContext prote
  • 我应该在单元测试中使用 AutoMapper 吗?

    我正在为 ASP NET MVC 控制器方法编写单元测试 这些控制器依赖于IMapper 我创建的用于抽象 AutoMapper 的接口 使用 Castle Windsor 通过构造函数注入传入 动作方法使用IMapper从领域对象映射到
  • 当我单击 GridView 项时返回 ImageView 实例

    当我点击GridView项时如何返回ImageView实例 我为 ItemClick 创建自定义绑定事件 public class ItemClickSquareBinding MvxBaseAndroidTargetBinding pri
  • 身份未映射异常

    System Security Principal IdentityNotMappedException 无法转换部分或全部身份引用 该错误仅在应用程序注册后出现一次 当 SecurityIdentifier 无法映射时 例如 返回 Ide
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • Qt中正确的线程方式

    我的图像加载非常耗时 图像很大 并且在加载时也完成了一些操作 我不想阻止应用程序 GUI 我的想法是在另一个线程中加载图像 发出图像已加载的信号 然后用该图像重绘视图 我的做法 void Window loadImage ImageLoad
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 如何在 C++ 中使用 PI 常数

    我想在一些 C 程序中使用 PI 常数和三角函数 我得到三角函数include
  • C# ToString("MM/dd/yy") 删除前导 0 [重复]

    这个问题在这里已经有答案了 可能的重复 格式化 NET DateTime Day 不带前导零 https stackoverflow com questions 988353 format net datetime day with no
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 便携式终端

    有没有办法根据所使用的操作系统自动使用正确的 EOL 字符 我在想类似的事情std eol 我知道使用预处理器指令非常容易 但很好奇它是否已经可用 我感兴趣的是 我的应用程序中通常有一些消息 稍后我会将这些消息组合成一个字符串 并且我希望将
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么
  • Windows 上 libcurl 的静态库[重复]

    这个问题在这里已经有答案了 如何将此库 libcurl 静态链接到 exe 我努力了 disable share enable static 没有帮助 我使用的是MingW32 有没有一种简单的方法来静态链接这个库 这样我的应用程序就不再有
  • 当我读取 500MB FileStream 时出现 OutOfMemoryException

    我使用 Filestream 读取大文件 gt 500 MB 但出现 OutOfMemoryException 任何有关它的解决方案 我的代码是 using var fs3 new FileStream filePath2 FileMode
  • 最后从同一类中的其他构造函数调用构造函数

    我在这里读到可以调用另一个构造函数从同一类中的另一个构造函数调用构造函数 https stackoverflow com questions 829870 calling constructor from other constructor

随机推荐

  • 特征工程:特征构造以及时间序列特征构造

    数据和特征决定了机器学习的上限 而模型和算法只是逼近这个上限而已 由此可见 特征工程在机器学习中占有相当重要的地位 在实际应用当中 可以说特征工程是机器学习成功的关键 那特征工程是什么 特征工程是利用数据领域的相关知识来创建能够使机器学习算
  • Xray 漏洞扫描工具使用方法

    本文仅供学习参考 严禁在未经网站管理员允许的情况下对网站进行扫描 本文仅供学习参考 严禁在未经网站管理员允许的情况下对网站进行扫描 本文仅供学习参考 严禁在未经网站管理员允许的情况下对网站进行扫描 滥用漏扫工具 违法国家安全法后果自负 申明
  • python中的tkinter包的使用--Menubar菜单窗口

    下面的例子讲如何制作简单的菜单 初始化窗口 点击子菜单New 继续点击其他子菜单 代码 import tkinter as tk window tk Tk window title my window window geometry 200
  • abaqus运行子程序出现无法打开输入文件msmpi.lib的解决办法

    好不容易搞定了abaqus Visual studio2013 Fortran 2013的关联 进行尝试时利用子程序进行计算时 出现了以下错误 End Compiling Abaqus Standard User Subroutines B
  • 【无标题】python:将一个表格的一行或几行数据通过双击或按键方式转移到另外一个表格中去

    import sys from PyQt5 QtWidgets import from move import QtWidgets QMainWindow 继承该类方法 class Utest window QtWidgets QMainW
  • Windows下安装使用mysqldumpslow

    首先需要安装Perl 在windows下安装Perl 安装过程很简单 从官网 http strawberryperl com 下载windows安装包 安装好之后 测试perl v 如果能显示版本号 表示安装成功 mysqldumpslow
  • muduo3学习笔记——Timestamp.{h,cc}

    首先代码中的一些要点 1 Timestamp类继承自boost less than comparable 模板类 只要实现 lt 即可自动实现 gt lt gt 2 使用到了BOOST STATIC ASSERT 编译时断言 3 gmtim
  • 查验身份证 C语言

    碎碎念念 这道题很坑 注意这里的权重是直接乘上去 一开始我乘的是百分之几 死活不知道哪里有问题 后来把一百乘上去 就对了 代码 include
  • 计算机网络第一章课后习题

    1 14 计算机网络有哪些常用的性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时间RTT 利用率 1 17 收发两端之间的传输距离为1000km 信号在媒体上的传播速率为2 x 10 8 m s 试计算以下两种情况的发送时延和传播时延
  • Android 开发中 Kotlin Coroutines 如何优雅地处理异常

    一 尽量少用 GlobalScope GlobalScope 是 CoroutineScope 的实现类 我们以前使用过的 launch async 函数都是 CoroutineScope 的扩展函数 GlobalScope 没有绑定任何
  • 为 Excalidraw 添加手写中文字体

    Excalidraw目前支持手写英文 不支持手写中文 导致画出的图不好看 那么 如何添加手写中文字体呢 准备一个手写中文字体 然后上传到一个存储位置 可以访问的地方 或者本地静态服务器 获取到一个可访问连接 可以放到云服务器上 可以放到Gi
  • 解决maven clean 报错 Process terminated

    设置一下maven
  • QT表格控件实例(Table Widget 、Table View)

    欢迎小伙伴的点评 相互学习 博主 本着开源的精神交流Qt开发的经验 将持续更新续章 为社区贡献博主自身的开源精神 文章目录 前言 一 图示实例 二 列表常用成员解析 三 代码实例解析 UI设计如下 mainwindow h main cpp
  • 使用Rest API设计简单的博客网站

    博客根地址 https mygithub com 对于每个用户自己的博客网站都在这个根地址后加url信息 使用Rest API进行设计 在这里设计如下API https mygithub com username articles http
  • python解释器的安装与配置

    目录 1 Python解释器安装配置 2 Python环境变量设置 3 Python解释器多个版本共存 1 Python解释器安装配置 python解释器是能够解释执行 Python代码的程序 它可以解析和执行 Python 程序 首先前往
  • c#之构造函数和析构函数

    如有错误 欢迎指正
  • 【五一创作】某头条参数破解并实现界面化搭建

    某条参数破解并实现界面化搭建 前言 效果展示 难点 参数逆向破解 signature ac signature s v web id 界面化实现 总结 前言 趁着日常闲余时间 想着搞一搞某条的反爬 练练手 想到自己很久没开发过前端界面了 有
  • JAVA线程 -- wait notify notifyAll

    在通常的代码中实现线程互斥用的较多的是synchronized synchronized this 与synchronized static Object 的区别 synchronized就是针对内存区块申请内存锁 this关键字代表类的一
  • Apache+PHP+MySQL环境搭建超详细!!!

    前言 最近在学习PHP语言 整理了一下关于环境搭建的部份 也可以选择集成环境会更方便 自己搭建环境会更好的理解原理 适合初学者 会持续更新哟 确定服务器的VC版本 一定要看 避免后面的错误 版本不一致会导致Apache在加载php包的时候出
  • AcWing 378. 骑士放置(最大独立集&&匈牙利算法)

    输入样例 2 3 0 输出样例 4 解析 题意为求最大独立集 即为总点数 最小点覆盖 include