codevs2171 棋盤覆蓋

題目描述?Description

給出一張n*n(n<=100)的國際象棋棋盤,其中被刪除了一些點,問可以使用多少1*2的多米諾骨牌進行掩蓋。

輸入描述?Input Description

第一行為n,m(表示有m個刪除的格子)
第二行到m+1行為x,y,分別表示刪除格子所在的位置
x為第x行
y為第y列

輸出描述?Output Description

一個數,即最大覆蓋格數

樣例輸入?Sample Input

8 0

樣例輸出?Sample Output

32

數據范圍及提示?Data Size & Hint

經典問題

/*
模板題
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<stack>
#define ll long long
using namespace std;
const int N = 30500;
struct edge{int v;int nxt;
}e[N*3];
int head[N],cnt;
int n,m;
bool vis[205][205];
int chk[N],mch[N];
int read(){int x=0,f=1;char ch=getchar();while(!(ch>='0'&&ch<='9')){if(ch=='-')f=-1;ch=getchar();};while(ch>='0'&&ch<='9'){x=x*10+(ch-'0');ch=getchar();};return x*f;
}
void ins(int u,int v){cnt++;e[cnt].v = v;e[cnt].nxt = head[u];head[u] = cnt;
}
bool dfs(int u){int to;for(int i = head[u];i;i=e[i].nxt){to = e[i].v;if(!chk[to]){chk[to] = true;if(mch[to] == -1 || dfs(mch[to])){mch[to] = u;mch[u] = to;return true;}}}return false;
}
void hun(){int ans = 0,lm = n*n;memset(mch,-1,sizeof(mch));for(int i = 1;i <= lm;i++){if(mch[i] == -1){memset(chk,0,sizeof(chk));if(dfs(i)) ++ans;}}cout<<ans;
}
int main(){n = read();m = read();int x,y;for(int i = 1;i <= m;i++){y = read();x = read();vis[y][x] = true;}for(int i = 1;i <= n;i++){for(int j = 1;j <= n;j++){if(vis[i][j]) continue;if(j < n && !vis[i][j+1]){ins((i-1)*n+j,(i-1)*n+j+1);ins((i-1)*n+j+1,(i-1)*n+j);}if(i < n && !vis[i+1][j]){ins((i-1)*n+j,i*n+j);ins(i*n+j,(i-1)*n+j);}}}hun();return 0;
}

?

轉載于:https://www.cnblogs.com/hyfer/p/6000909.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457072.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Day13-日歷模塊

import calendar日歷模塊 #使用#返回制定歿年某月日歷 print(calendar.month(2019,3)) #返回指定年份的日歷 print(calendar.calendar(2019)) #判斷閏年返回True 或者Flase print(calendar.isleap(2000)) #返回某個月的weekd的第一天和這個月所有的天數 print(calendar.monthra…

關于eclipse項目紅色感嘆號的解決辦法

在網上找到了解決辦法&#xff0c;詳見&#xff1a;http://jingyan.baidu.com/article/ea24bc3986f7b0da62b33188.html

linux模擬網絡延遲,使用Nistnet搭建網絡延遲模擬設備 (network delay simulator)

mknod /dev/hitbox c 62 0mknod /dev/nistnet c 62 1chown root /dev/hitboxchown root /dev/nistnetmknod /dev/mungebox c 63 0chown root /dev/mungeboxmknod /dev/spybox c 64 0chown root /dev/spyboxmodprobe nistnet可以將這個放到/etc/rc.local中&#xff0c;以便重啟后…

MyBatis - MyBatis Generator 生成的example 如何使用 and or 簡單混合查詢

簡單介紹&#xff1a; Criteria&#xff0c;包含一個Cretiron的集合,每一個Criteria對象內包含的Cretiron之間是由AND連接的,是邏輯與的關系。oredCriteria&#xff0c;Example內有一個成員叫oredCriteria,是Criteria的集合,就想其名字所預示的一樣&#xff0c;這個集合中的Cri…

將本地Blog部署到GitHub上,有自己的博客頁面!

前言 上一篇文章我們已經把本地的hexo環境搭建好了&#xff0c;并且在本地成功預覽&#xff0c;但是本地預覽也意味著自己的博文只能自己看的到&#xff0c;其他人根本看不到&#xff0c;這篇文章將接上文說一說如何把本地Blog部署到GitHub上&#xff0c;好讓小伙伴可以來訪問我…

Linux下安裝配置JDK

本人使用的VM虛擬機&#xff0c;在VM上安裝了Linux&#xff0c;版本是CentOS-6.7-i386-bin-DVD1.iso。 一、下載JDK 在進入JDK官網&#xff0c;找到要下載的JDK版本&#xff0c;將下載地址復制下來&#xff0c;放到迅雷中下載&#xff0c;我下載的是&#xff1a;http://downloa…

新手使用GitHub客戶端提交項目的步驟

1.下載https://windows.github.com/ github客戶端 2.安裝完github&#xff0c;會出現 點擊GitHub&#xff0c;Git Shell是命令行指令&#xff0c;暫時用不上 3.點擊進入之后 輸入你在https://github.com上面注冊的用戶名和密碼點擊log in 4.登錄之后新建項目 點擊左上角…

linux的命令uname n,Linux下uname命令及其選項

Linux下uname命令及其選項2017-03-15 23:22:26曉得了Linux系統的用戶信息后&#xff0c;你也可能想曉得所登錄的系統信息&#xff0c;今日就紹介獲取系統本身信息的命令uname,這搭u應當是UNIX的縮寫&#xff0c;操作如次&#xff1a;uname使役uname還可以得到其它相關系統的信息…

火狐瀏覽器Firefox如何使用插件,火狐有哪些好用的插件

1 CoorPreviews 不打開網頁鏈接預覽該網頁的內容。 預覽如圖所示&#xff1a; 點擊關閉旁邊的釘子可以讓該窗口保持開著并且瀏覽速度加快。這對于快速瀏覽圖片時非常有用。 2 FoxTab 3D方式預覽網頁&#xff0c;只要按一下輸入框左側按鈕即可。 此外還提供多種預覽模式和其…

GitHub+Hexo搭建自己的Blog之-主題配置

前言 前兩章我們已經把Blog的環境全部搭建完畢了&#xff0c;但是還沒有內容&#xff0c;而且hexo默認的主題是不是感覺挺丑的&#xff0c;其實hexo給我們提供了很多主題模板&#xff0c;總有一款是你喜歡的&#xff0c;本篇文章將繼續說一說如何配置主題&#xff0c;怎么創建博…

開源app之MyHearts

前言 這個月&#xff0c;說實話&#xff0c;有忙有閑&#xff0c;經歷了一次病痛的洗禮&#xff0c;才認識到了只有好好的生活&#xff0c;認真的對待自己的身體&#xff0c;才能更好的去工作&#xff0c;沒有了身體的支撐&#xff0c;什么工作都只能是紙老虎&#xff0c;不攻自…

關于在軟件中添加掃描二維碼功能的詳細步驟及對應的資源。

最近有在一款軟件中添加二維碼掃描功能&#xff0c;在網上整理了一堆資源后&#xff0c;把一些干貨拿出來給大家分享&#xff0c;希望大家以后能更容易的使用這個功能。 詳細步驟見這個視頻連接&#xff1a;http://www.jikexueyuan.com/course/134.html 對應的zxing資源放在下…

前端那些事之原生 js實現貪吃蛇篇

2019獨角獸企業重金招聘Python工程師標準>>> 原生js實現貪吃蛇 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>貪吃蛇游戲</title><style>body, div, img {margin: 0 auto;pa…

整理一些完全免費開放的API接口

前言 在開發測試階段&#xff0c;或者是在寫Demo的時候&#xff0c;難免會用到一些測試數據&#xff0c;有時苦于沒有可用的接口&#xff0c;需要自己動手去寫&#xff0c;但是這樣大大降低了效率&#xff0c;前期我也找了一些開放的接口&#xff0c;這篇文章整理一下&#xff…

Linux格式化異常,Linux下DateFormat的parse方法出現”ParseException”異常

在windows下使用DateFormat的parse方法&#xff0c;將字符中轉化為Date類型時&#xff0c;一切正常。可安裝到Linux下&#xff0c;就出現了ParseException異常。代碼如下&#xff1a;public Date toDateTime(String str){Date dt new Date();try{DateFormat df;df DateFormat…

如何發現優秀的開源項目?

之前發過一系列有關 GitHub 的文章&#xff0c;有同學問了&#xff0c;GitHub 我大概了解了&#xff0c;Git 也差不多會使用了&#xff0c;但是 還是搞不清 GitHub 如何幫助我的工作&#xff0c;怎么提升我的工作效率&#xff1f; 問到點子上了&#xff0c;GitHub 其中一個最重…

自已開發完美的觸摸屏網頁版仿app彈窗型滾動列表選擇器/日期選擇器

手機端網頁版app在使用下拉列表時&#xff0c;傳統的下拉列表使用起來體驗非常不好&#xff0c;一般做的稍好一點的交互功能界面都不會直接使用下拉列表&#xff0c;所以app的原生下拉列表都是彈窗列表選擇&#xff0c;網頁型app從使用體驗上來當然也應該做成那樣&#xff0c;前…

*args, **kwargs的用法

python 中參數*args, **kwargs def foo(*args, **kwargs): print args , args print kwargs , kwargs print ---------------------------------------if __name__ __main__: foo(1,2,3,4) foo(a1,b2,c3) foo(1,2,3,4, a1,b2,c3) foo(a, 1, None, a1, b2, c3)輸出結果如下&…

一個 js 中值傳遞和引用傳遞的坑。

今天在調試代碼時遇到一個問題&#xff0c;剛開始想不明白&#xff0c;然后分析了一下后&#xff0c;才知道其中的問題&#xff0c;這也是一個基礎的問題&#xff0c;&#xff08;所以基礎是很重要的&#xff09; 代碼如下&#xff1a; var a 3; a a * 2; console.log(a); //…

linux運維適合女生么,女生真的不適合做IT行業嗎?Linux運維適合女生學習嗎?

在很多人的腦海中都是女生不適合做IT&#xff0c;IT行業不適合女性。可能傳統的思想中&#xff0c;女生只適合做文職工作&#xff0c;比如說幼師、公務員、會計等&#xff0c;就因為這樣的思想也讓IT行業男女出現了失衡的情況&#xff0c;那么作為女生真的不適合做IT行業嗎?Li…