http://codevs.cn/problem/1024/

floyd 走起

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; #define inf 0x7ffffff
#define gc getchar() int x[], y[], n, m, t, k, x1, y1, x2, y2, a, b, f[][]; inline int read(){
int x = ; char c = gc;
while(c < '' || c > '') c = gc;
while(c >= '' && c <= '') x = x * + c - '', c = gc;
return x;
} int main()
{
n = read(); m = read(); t = read(); k = read();
for(int i = ; i <= n; i ++) x[i] = read();
for(int i = ; i <= m; i ++) y[i] = read();
for(int i = ; i <= n * m; i ++)
for(int j = ; j <= n * m; j ++)
if(i == j) f[i][j] = ; else f[i][j] = inf;
for(int i = ; i <= n; i ++)
for(int j = ; j <= m; j ++){
if(i > ) {a = i - ; b = j; f[(j - ) * n + i][(b - ) * n + a] = x[i] - x[i - ];}
if(j > ) {a = i; b = j - ; f[(j - ) * n + i][(b - ) * n + a] = y[j] - y[j - ];}
if(i < n) {a = i + ; b = j; f[(j - ) * n + i][(b - ) * n + a] = x[i + ] - x[i];}
if(j < m) {a = i; b = j + ; f[(j - ) * n + i][(b - ) * n + a] = y[j + ] - y[j];}
}
for(int i = ; i <= t; i ++){
x1 = read(); y1 = read(); x2 = read(); y2 = read();
f[(y1 - ) * n + x1][(y2 - ) * n + x2] = inf;
f[(y2 - ) * n + x2][(y1 - ) * n + x1] = inf;
}
for(int i = ; i <= k; i ++) {
x1 = read(); x2 = read(); y1 = read(); y2 = read();
for(a = x1; a <= x2 - ; a ++)
for(b = y1 + ; b <= y2 - ; b ++) {
f[(b - ) * n + a][(b - ) * n + a + ] = inf;
f[(b - ) * n + a + ][(b - ) * n + a] = inf;
}
for(b = y1; b <= y2 - ; b ++)
for( a = x1 + ; a <= x2 -; a ++) {
f[(b - ) * n + a][b * n + a] = inf;
f[b * n + a][(b - ) * n + a] = inf;
}
}
for(int k = ; k <= n * m; k ++)
for(int i = ; i <= n * m; i ++)
for(int j = ; j <= n * m; j ++)
f[i][j] = min(f[i][k] + f[k][j], f[i][j]);
x1 = read(); y1 = read(); x2 = read(); y2 = read();
printf("%d", f[(y1 - ) * n + x1][(y2 - ) * n + x2]);
return ;
}

[Codevs] 一塔湖图的更多相关文章

  1. 一塔湖图(codevs 1024)

    题目描述 Description 小松所在的PK大学校园又称作燕园,是一个十分美丽的校园.有博雅塔,未名湖,亚洲最大的高校图书馆,人称“一塔湖图”.但是由于燕园的历史比较悠久,所以很多的老房子都要不断 ...

  2. codevs1024一塔湖图(丧心病狂的建图)

    /* 丧心病狂的最短路 关键是建图 根据题目中给的路 拆出节点来 建图 (i,j) -->(j-1)*n+i 然后根据障碍 把死路 湖覆盖的dis改变成极大值 然后Floyd 然后 然后就没有然 ...

  3. C++基础知识-Day5

    今天主要讲的是类的扩展 1.类成员函数的存储方式 首先我们介绍类成员函数的存储方式,C++引入面向对象的概念之后,C语言中的一些比如static/const等原有语义,作一些升级,此时既要保持兼容,还 ...

  4. 2017“编程之美”终章:AI之战勇者为王

    编者按:8月15日,第六届微软“编程之美”挑战赛在选手的火热比拼中圆满落下帷幕.“编程之美”挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起,微软每年都在革新比赛命题.紧跟时代潮流, ...

  5. 程序员PS技能(四):程序员创建PSD文件、展示简单PSD设计流程,上传PSD至蓝湖,并下载Demo切图

    前言   本篇是程序员仿照ui设计创建psd且切图五个按钮效果上传至蓝湖,本篇篇幅较长,整体完成一个目标,没有分篇幅了.   前提条件   已经安装了PS,已经在PS上安装了蓝湖插件,并且曾经已经上传 ...

  6. codevs 1080 线段树点修改

    先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...

  7. codevs 1228 苹果树 树链剖分讲解

    题目:codevs 1228 苹果树 链接:http://codevs.cn/problem/1228/ 看了这么多树链剖分的解释,几个小时后总算把树链剖分弄懂了. 树链剖分的功能:快速修改,查询树上 ...

  8. hihoCoder 1425 : What a Beautiful Lake(美丽滴湖)

    hihoCoder #1425 : What a Beautiful Lake(美丽滴湖) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...

  9. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

随机推荐

  1. java 简单操作HDFS

    创建java 项目 package com.yw.hadoop273; import org.apache.hadoop.conf.Configuration; import org.apache.h ...

  2. 简单添加自己的驱动程序到Linux内核树中

    背景: 移植4g模块的时候,看到文档中有添加驱动到内核的步骤,于是趁着这个机会,展开有关的学习. 了解更多可以访问:<Kconfig语法简介> Target :hi3531d Linux ...

  3. vijo 1456最小总代价

    题意:中文题... 题解:状态比较多,可以说是状压的基础题吧,我们定义dp[i][j],j为一个二进制数,每位0表示接触过该物品,1表示没有接触过;j表示当前物品在谁手上.递推的顺序注意一下就好 ac ...

  4. 杭电2577 多数组dp问题

    Problem Description Pirates have finished developing the typing software. He called Cathy to test hi ...

  5. SQL Server邮件标识点

    <br>---换行 &nbsp:---空格 <H1></H1>---标题 --定义表格格式 N'<table border="1" ...

  6. JQuery实现密码可见不可见

    在Html页面上实现密码可见不可见,使用的阿里巴巴矢量图标库. html部分: <!doctype html> <html> <head> <meta cha ...

  7. centos+docker+jenkins

    1.直接运行jenkins镜像,无该镜像会直接下载 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/va ...

  8. How to delete SAP* from HANA Tenant database

    How to delete SAP* from HANA Tenant database 1.如何登录HANA的多租户(TDC)数据库 使用SAPS4端对应的SAP账户,比如S4D的账户为s4dadm ...

  9. Linux Exploit系列之三 Off-By-One 漏洞 (基于栈)

    Off-By-One 漏洞 (基于栈) 原文地址:https://bbs.pediy.com/thread-216954.htm 什么是off by one? 将源字符串复制到目标缓冲区可能会导致of ...

  10. SDL -安全开发生命周期

    1.学习SDL https://www.cnblogs.com/whoami101/p/9914862.html 2.学习SDL https://blog.csdn.net/whatday/artic ...