题目链接

戳我

\(solution\)

这道题和网络24题之骑士共存问题很相似
只是输入方式不一样而已
详细见:这儿

\(Code\)

#include<bits/stdc++.h>
#define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout)
#define rg register
using namespace std;
typedef long long ll;
int n,m,s,t,z,y,x;
inline int read(){int x=0,f=1;char c=getchar();while(c<'0'||c>'9')  f= (c=='-')?-1:1,c=getchar();while(c>='0'&&c<='9')  x=x*10+c-48,c=getchar();return f*x;
}
struct node{int to,next,v;
}a[400001];
int cnt,head[200001],cur[200001];
void add(int x,int y,int c){a[++cnt].to=y;a[cnt].next=head[x];a[cnt].v=c;head[x]=cnt;
}
queue <int> q;
int dep[100001];
int bfs(){memset(dep,0,sizeof(dep));q.push(s),dep[s]=1;while(!q.empty()){int now=q.front();q.pop();for(int i=head[now];i;i=a[i].next){int v=a[i].to;if(!dep[v]&&a[i].v)q.push(v),dep[v]=dep[now]+1;}}if(dep[t]!=0)return 1;elsereturn 0;
}
int dfs(int k,int list){if(k==t)return list;for(int &i=cur[k];i;i=a[i].next){int v=a[i].to;if(a[i].v&&dep[v]==dep[k]+1){int p=dfs(v,min(list,a[i].v));if(p){a[i].v-=p;if(i%2)a[i+1].v+=p;elsea[i-1].v+=p;return p;}}}return 0;
}
int Dinic(){int ans=0;while(bfs()){for(int i=0;i<t;i++)cur[i]=head[i];int k=dfs(s,2147483);while(k)ans+=k,k=dfs(s,2147483);}return ans;
}
int f[201][201];
int fx[10]={0,1,1,-1,-1,2,2,-2,-2};
int fy[10]={0,2,-2,2,-2,1,-1,1,-1};
char S[1000];
int main(){n=read(),s=0,t=n*n+1;int sum=0;for(int i=1;i<=n;i++){cin>>S;for(int j=0;j<strlen(S);j++){f[i][j+1]=S[j]-'0';if(f[i][j+1])m++;}}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(f[i][j])continue;if(((i+j)%2)==0)add((i-1)*n+j,t,1),add(t,(i-1)*n+j,0);elseadd(s,(i-1)*n+j,1),add((i-1)*n+j,s,0);}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)for(int k=1;k<=8;k++){int x=i+fx[k],y=j+fy[k],p=(x-1)*n+y;if(x>0&&y>0&&x<=n&&y<=n&&((i+j)%2)==1&&!f[i][j]&&!f[x][y])add((i-1)*n+j,p,10000000),add(p,(i-1)*n+j,0);}int ans=Dinic();printf("%d",n*n-m-ans);
}

转载于:https://www.cnblogs.com/hbxblog/p/10255190.html

「TJOI 2013」攻击装置相关推荐

  1. loj2058 「TJOI / HEOI2016」求和 NTT

    loj2058 「TJOI / HEOI2016」求和 NTT 链接 loj 思路 \[S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k ...

  2. #2686. 「BalticOI 2013」雪地足迹 双端队列01bfs + 模型转换

    传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的图,如果某个位置字符为RRR代表兔子走过,如果为FFF代表狐狸走过,如果...代表谁都没走过,每只动物必须从左上角进来,右下角出去 ...

  3. Libre OJ 「BalticOI 2013」非回文数 数位dp

    传送门 文章目录 题意: 思路: 题意: 问[l,r][l,r][l,r]内有多少个数是非回文数,即数字中不存在连续几个数为回文数. l,r≤1e18l,r\le1e18l,r≤1e18 思路: 这么 ...

  4. #3144. 「APIO 2019」奇怪装置

    #3144. 「APIO 2019」奇怪装置 题目描述 考古学家发现古代文明留下了一种奇怪的装置.该装置包含两个屏幕,分别显示两个整数 \(x\) 和 \(y\). 经过研究,科学家对该装置得出了一个 ...

  5. OpenAI详细解析:攻击者是如何使用「对抗样本」攻击机器学习的

    原文来源:OpenAI 作者: Ian Goodfellow.Nicolas Papernot.Sandy Huang.Yan Duan.Pieter Abbeel.Jack Clark. 「雷克世界 ...

  6. 「APIO 2019」奇怪装置

    题目描述 考古学家发现古代文明留下了一种奇怪的装置.该装置包含两个屏幕,分别显示两个整数 $x$ 和 $y$. 经过研究,科学家对该装置得出了一个结论:该装置是一个特殊的时钟,它从过去的某个时间点开始 ...

  7. 「NOIP 2013」 货车运输

    题目链接 戳我 \(Solution\) 这一道题直接用\(kruskal\)重构树就好了,这里就不详细解释\(kruskal\)重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建\ ...

  8. 【搜索】JZOJ_3319 LOJ_2686 「BalticOI 2013」雪地足迹 Tracks in the Snow

    题意 在一片长方形的草地上,有 2 2 2种动物--兔子和狐狸活动.兔子走过草地会留下 R R R,狐狸走过草地会留下 F F F.每只动物从左上角进入草地,从右下角走出草地.其间,它可以上下左右乱跳 ...

  9. 在打造 iPod 和 Nest 之后,这位被硅谷抛弃的「麻烦制造者」正在巴黎重建浪潮之巅

    「麻烦制造者」的舞台 在伦敦郊外的一处庄园,Tony Fadell 正在参加一场创始人论坛.宾客名单中有许多科技公司的创始人,也有拥有大英帝国勋章的初级军官.但实际上,这场会议的焦点人物是 Fadel ...

  10. 90后「V神」封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!

    来源:新智元 他眼里闪烁着晶蓝光芒. 看似平平无奇,却是你羡慕的另一个90后「天才少年」. 4岁开始编程,19岁辍学,从此便开创了一段传奇. 他是Vitalik Buterin,人称「V神」,就连俄罗 ...

最新文章

  1. SQL Server清空日志以及查看日志大小语句
  2. Springboot+vue前后端分离考试系统
  3. SSRS Report Knowledge Base
  4. mysql innodb myisam 混合,MySQL MyIsam/InnoDB混合在一起的事务
  5. Python小项目——学生信息管理系统(详细讲解)
  6. HDOJ--3790--最短路径问题(双权值问题)
  7. 26.go test
  8. Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用
  9. svn插件Subclipse
  10. Flex 加载Base64编码的二进制字符串图片
  11. Bad notification for startForeground
  12. 不要在本该奋斗的年纪选择了安逸
  13. SOT23(Small Outline Transistor)
  14. 二级建造师学python有用_终于清楚python入门最好的教程
  15. Unigine免费了
  16. 黑马程序员机器学习Day2学习笔记
  17. java int格式转换文本_java 文件导出Excel 文本形式转数字格式解决,字段是int导出需求是数字解决方案...
  18. ES-07-ElasticSearch常用插件
  19. Libvirt同步机制 —— 实现原理
  20. html5 自动矢量化,HTML5中地圖矢量化

热门文章

  1. 带你深挖Java泛型类型擦除以及类型擦除带来的问题
  2. Spring Cloud 2020年路线图发布
  3. 工作 3 年就是高级,这就是差距啊
  4. BAT大揭秘:在腾讯、百度、阿里上班,差别竟然这么大?
  5. 手把手教你用Python实现人脸识别,辨别真假!
  6. 利用计算机系统辅助设计人员,计算机基础知识:计算机辅助设计
  7. 串口与定时器的重要关系_单片机串口必备基础知识
  8. shell基础之后台运行脚本
  9. ArcGIS案例学习笔记-手动编辑擦除挖空挖除相减
  10. 连接mysql的各种方式