1001: [BeiJing2006]狼抓兔子(对偶图)
1001: [BeiJing2006]狼抓兔子
Time Limit: 15 Sec Memory Limit: 162 MB
Submit: 23595 Solved: 5940
Description

Input
Output
输出一个整数,表示参与伏击的狼的最小数量.
Sample Input
5 6 4
4 3 1
7 5 3
5 6 7 8
8 7 6 5
5 5 5
6 6 6
Sample Output
HINT
2015.4.16新加数据一组,可能会卡掉从前可以过的程序。
code
#include<cstdio>
#include<queue>
#include<algorithm>
#include<cstring> using namespace std;
const int MAXN = ;
struct Edge{
int to,w,nxt;
Edge(){}
Edge(int a,int b,int c){to = a,w = b,nxt = c;}
}e[MAXN<<];
int head[MAXN],dis[MAXN];
bool vis[MAXN];
queue<int>q;
int n,m,tot; int read()
{
int x = ,f = ;char ch = getchar();
while (ch<''||ch>'') {if (ch=='-')f=-; ch = getchar();}
while (ch>=''&&ch<='') x = x*+ch-'', ch = getchar();
return x*f;
}
void add_edge(int u,int v,int w)
{
e[++tot] = Edge(v,w,head[u]);
head[u] = tot;
e[++tot] = Edge(u,w,head[v]);
head[v] = tot;
}
void spfa()
{
memset(dis,0x3f,sizeof(dis));
q.push();
vis[] = true;
dis[] = ;
while (!q.empty())
{
int u = q.front();
q.pop();
for (int i=head[u]; i; i=e[i].nxt)
{
int v = e[i].to,w = e[i].w;
if (dis[v]>dis[u]+w)
{
dis[v] = dis[u]+w;
if (!vis[v])
{
q.push(v);
vis[v] = true;
}
}
}
vis[u] = false;
}
}
int main()
{
n = read(), m = read();
int x,y,z,tmp = (*(n-)*(m-))+;
for (int i=; i<=n; ++i)
for (int j=; j<m; ++j)
{
z = read();
x = i==? :(*(i-)-)*(m-)+j;
y = i==n? tmp:(*(i-))*(m-)+j;
add_edge(x,y,z);
}
for (int i=; i<n; ++i)
for (int j=; j<=m; ++j)
{
z = read();
x = j==? tmp:(*(i-))*(m-)+j-;
y = j==m? :(*(i-))*(m-)+j-+m;
add_edge(x,y,z);
}
for (int i=; i<n; ++i)
for (int j=; j<m; ++j)
{
z = read();
x = (*(i-))*(m-)+j;
y = (*(i-)+)*(m-)+j;
add_edge(x,y,z);
}
spfa();
printf("%d",dis[tmp]);
return ;
}
1001: [BeiJing2006]狼抓兔子(对偶图)的更多相关文章
- 【BZOJ】1001: [BeiJing2006]狼抓兔子 Dinic算法求解平面图对偶图-最小割
1001: [BeiJing2006]狼抓兔子 Description 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下 三种类型的道路 1:(x,y)<==>( ...
- BZOJ 1001: [BeiJing2006]狼抓兔子
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 20029 Solved: 4957[Submit][ ...
- BZOJ 1001 [BeiJing2006] 狼抓兔子(平面图最大流)
题目大意 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的.而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...
- BZOJ 1001: [BeiJing2006]狼抓兔子【最大流/SPFA+最小割,多解】
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 23822 Solved: 6012[Submit][ ...
- 1001: [BeiJing2006]狼抓兔子
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 12827 Solved: 3044[Submit][ ...
- BZOJ 1001 [BeiJing2006]狼抓兔子 (UVA 1376 Animal Run)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 24727 Solved: 6276[Submit][ ...
- BZOJ 1001: [BeiJing2006]狼抓兔子(最短路)
平面图的最小割转化为对偶图的最短路(资料:两极相通——浅析最大最小定理在信息学竞赛中的应用) ,然后DIJKSTRA就OK了. ------------------------------------ ...
- 【BZOJ1001】[BeiJing2006]狼抓兔子 对偶图最短路
[BZOJ1001][BeiJing2006]狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子 ...
- 对偶图 && 【BZOJ】1001: [BeiJing2006]狼抓兔子(对偶图+最短路)
http://www.lydsy.com/JudgeOnline/problem.php?id=1001 可谓惨不忍睹,一下午就在调这题了. 很久以前看到这题是一眼最大流,看到n<=1000,我 ...
随机推荐
- cairo-dock天气位置代码
cairo-dock天气位置代码: 城市: 北京CHXX0008哈尔滨CHXX0046长春CHXX0010沈阳CHXX0119大连CHXX0019天津CHXX0133呼和浩特CHXX0249乌鲁木齐C ...
- linux 修改myql 编码配置等信息参考
mysql 配置: 1:编辑配置文件: vi /etc/my.cnf 2:修改配置如下: [client] password = 123456 port = 330 ...
- Android-->RxJava2更新体验
截止日前最新版2017-3-15: RxJava compile ‘io.reactivex:rxjava:’ compile ‘io.reactivex:rxandroid:’ RxJava2 co ...
- uLua学习之创建游戏对象(二)
前言 上节,刚刚说到创建一个“HelloWorld”程序,大家想必都对uLua有所了解了,现在我们一步步地深入学习.在有关uLua的介绍中(在这里),我们可以发现它使用的框架是Lua + LuaJIT ...
- Oracle数据库基础--建表语法+操作
语法 1.建表 create table 表名( 列名 数据类型, …… ); 2.删除表:drop table 表名; 3.添加列:alter table 表名 add(列名 数据类型); 4.修改 ...
- Sqlserver计算本年度工作日
--@StartDate 本年度第一天 --@EndDate 本年度最后一天 , ) , DATEADD(yy, , , )) IF EXISTS ( SELECT * FROM tempdb..sy ...
- Hybris ECP里Customer对应的数据库表
SAP CRM里Account明细页面: SAP C4C里Account明细页面: 在Hybris storefront注册一个帐号: 注册成功之后能在backoffice里看到成功生成的custom ...
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getSer
这其实就是 获得应用的根url,比如说你的应用的根路径是 http://localhost:8080,那么你列出的代码就是为basePath赋值为 http://localhost:8080.具体点: ...
- 关于profile集合
profile集合是mongodb的慢操作日志 > db.getProfilingStatus() { , , } 可以通过getProfilingStatus来查看当前profile设置 pr ...
- double类型的小数,四舍五入保留两位小数
import java.math.BigDecimal; public class Kewai{ public static void main(String[] args) { double f = ...