[Codevs] 一塔湖图
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] 一塔湖图的更多相关文章
- 一塔湖图(codevs 1024)
题目描述 Description 小松所在的PK大学校园又称作燕园,是一个十分美丽的校园.有博雅塔,未名湖,亚洲最大的高校图书馆,人称“一塔湖图”.但是由于燕园的历史比较悠久,所以很多的老房子都要不断 ...
- codevs1024一塔湖图(丧心病狂的建图)
/* 丧心病狂的最短路 关键是建图 根据题目中给的路 拆出节点来 建图 (i,j) -->(j-1)*n+i 然后根据障碍 把死路 湖覆盖的dis改变成极大值 然后Floyd 然后 然后就没有然 ...
- C++基础知识-Day5
今天主要讲的是类的扩展 1.类成员函数的存储方式 首先我们介绍类成员函数的存储方式,C++引入面向对象的概念之后,C语言中的一些比如static/const等原有语义,作一些升级,此时既要保持兼容,还 ...
- 2017“编程之美”终章:AI之战勇者为王
编者按:8月15日,第六届微软“编程之美”挑战赛在选手的火热比拼中圆满落下帷幕.“编程之美”挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起,微软每年都在革新比赛命题.紧跟时代潮流, ...
- 程序员PS技能(四):程序员创建PSD文件、展示简单PSD设计流程,上传PSD至蓝湖,并下载Demo切图
前言 本篇是程序员仿照ui设计创建psd且切图五个按钮效果上传至蓝湖,本篇篇幅较长,整体完成一个目标,没有分篇幅了. 前提条件 已经安装了PS,已经在PS上安装了蓝湖插件,并且曾经已经上传 ...
- codevs 1080 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
- codevs 1228 苹果树 树链剖分讲解
题目:codevs 1228 苹果树 链接:http://codevs.cn/problem/1228/ 看了这么多树链剖分的解释,几个小时后总算把树链剖分弄懂了. 树链剖分的功能:快速修改,查询树上 ...
- hihoCoder 1425 : What a Beautiful Lake(美丽滴湖)
hihoCoder #1425 : What a Beautiful Lake(美丽滴湖) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
随机推荐
- 机器学习-HMM隐马尔可夫模型-笔记
HMM定义 1)隐马尔科夫模型 (HMM, Hidden Markov Model) 可用标注问题,在语音识别. NLP .生物信息.模式识别等领域被实践证明是有效的算法. 2)HMM 是关于时序的概 ...
- ps 指令
ps显示系统当前进程信息, ps 存在多个版本,因此 ps options 的种类繁多.这里只列举平时开发过程中常用的命令,如果有错误或者更好的例子.烦请在评论区指出 语法 ps [options] ...
- JVM内存管理(一)--GC简介
GC策略解决了哪些问题? 既然是要进行自动GC,那必然会有相应的策略,而这些策略解决了哪些问题呢,粗略的来说,主要有以下几点. 1.哪些对象可以被回收. 2.何时回收 ...
- 安利一下stringstream
关于实用的 stringstream 处理毒瘤输入数据 比如这个题 在输入的时候有很多问题,如果用scanf输入char型字符串,那么不好用map判断,并且读入整行判断换行会很麻烦 如果选择用stri ...
- 在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)
原文:在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...
- windows下安装phpredis扩展
根据phpyinfo获取自己的php信息 x86,php5.6,TS,VC11 在pecl网站上找到对应的版本 5.6 Thread Safe (TS) x86 https://pecl.php.ne ...
- 编写Postgres扩展之四:测试
原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-iv/ 编译:http://big-elephants.com ...
- 【转载】Asp.Net中应用程序的事件响应次序
Asp.Net应用程序事件响应次序是指Application事件的相应次序,涉及到的事件包括Application_Start事件.BeginRequest事件.AuthenticateRequest ...
- Java 之 File类(文件操作)
一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...
- 分享一个仿网易新闻客户端iPhone版的标签式导航ViewController
该Controller是一个容器,用于容纳其他的controller.效果与网易新闻客户端的标签式导航基本一样: (1)点击上面的标签,可以切换到对应的controller,标签下面的红色提示条的长度 ...