[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[10], y[10], n, m, t, k, x1, y1, x2, y2, a, b, f[120][120];inline int read(){int x = 0; char c = gc;while(c < '0' || c > '9') c = gc;while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = gc;return x; }int main() {n = read(); m = read(); t = read(); k = read();for(int i = 1; i <= n; i ++) x[i] = read();for(int i = 1; i <= m; i ++) y[i] = read();for(int i = 1; i <= n * m; i ++)for(int j = 1; j <= n * m; j ++)if(i == j) f[i][j] = 0; else f[i][j] = inf;for(int i = 1; i <= n; i ++)for(int j = 1; j <= m; j ++){if(i > 1) {a = i - 1; b = j; f[(j - 1) * n + i][(b - 1) * n + a] = x[i] - x[i - 1];}if(j > 1) {a = i; b = j - 1; f[(j - 1) * n + i][(b - 1) * n + a] = y[j] - y[j - 1];}if(i < n) {a = i + 1; b = j; f[(j - 1) * n + i][(b - 1) * n + a] = x[i + 1] - x[i];}if(j < m) {a = i; b = j + 1; f[(j - 1) * n + i][(b - 1) * n + a] = y[j + 1] - y[j];}}for(int i = 1; i <= t; i ++){x1 = read(); y1 = read(); x2 = read(); y2 = read();f[(y1 - 1) * n + x1][(y2 - 1) * n + x2] = inf;f[(y2 - 1) * n + x2][(y1 - 1) * n + x1] = inf;}for(int i = 1; i <= k; i ++) {x1 = read(); x2 = read(); y1 = read(); y2 = read();for(a = x1; a <= x2 - 1; a ++)for(b = y1 + 1; b <= y2 - 1; b ++) {f[(b - 1) * n + a][(b - 1) * n + a + 1] = inf;f[(b - 1) * n + a + 1][(b - 1) * n + a] = inf;}for(b = y1; b <= y2 - 1; b ++)for( a = x1 + 1; a <= x2 -1; a ++) {f[(b - 1) * n + a][b * n + a] = inf;f[b * n + a][(b - 1) * n + a] = inf;}}for(int k = 1; k <= n * m; k ++)for(int i = 1; i <= n * m; i ++)for(int j = 1; 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 - 1) * n + x1][(y2 - 1) * n + x2]);return 0; }
转载于:https://www.cnblogs.com/shandongs1/p/8253498.html
[Codevs] 一塔湖图相关推荐
- 一塔湖图(codevs 1024)
题目描述 Description 小松所在的PK大学校园又称作燕园,是一个十分美丽的校园.有博雅塔,未名湖,亚洲最大的高校图书馆,人称"一塔湖图".但是由于燕园的历史比较悠久,所以 ...
- CODE[VS]1024 一塔湖图
题目:http://codevs.cn/problem/1024/ 思路:根据数据建立燕园路口连接矩阵,然后用floyd算法求解最有路径.题目,数据5有误,t与k数据颠倒即可得到答案92. 题解: / ...
- 久久未至的Codevs1024一塔湖图解题报告
一直想给这个题写个解题报告但是给忘了OTZ难产了这么久终于出来了 这个题当时坑了我一个星期整,所以一定要写一个解题报告纪念一下 1024 一塔湖图 时间限制: 1 s 空间限制: 128000 KB ...
- codevs1024一塔湖图(丧心病狂的建图)
/* 丧心病狂的最短路 关键是建图 根据题目中给的路 拆出节点来 建图 (i,j) -->(j-1)*n+i 然后根据障碍 把死路 湖覆盖的dis改变成极大值 然后Floyd 然后 然后就没有然 ...
- PKU2019暑期学堂 游记
诈尸写博客QaQ 一塔湖图 Day 0 18:00 从学校出发 with另外三个同学 前往南站 20:20上动车 感觉人好少的样子 房间灯是坏的,还换了一间... 在火车上刷知乎,提前体验一下夏令营, ...
- 把QQ群共享当做网盘用感觉还不错
作者:iamlaosong 网上看到有人把QQ群的共享文件区当网盘用,试了一下,感觉还不错. 以前我是用QQ邮箱中的文件中转站当网盘使用的,准确的来说是当U盘使用.QQ邮箱中的记事本则用来记录一些备忘 ...
- 2017“编程之美”终章:AI之战勇者为王
编者按:8月15日,第六届微软"编程之美"挑战赛在选手的火热比拼中圆满落下帷幕."编程之美"挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起, ...
- 互联网金融青年会成立一周年庆典在京举办
2015年11月15日,互联网金融(北京)高峰论坛暨互联网金融青年会成立一周年庆典在京举办.2015年是互联网金融发展历程中颇具意义的一年.随着行业指导意见的发布,监管框架越来越明晰,在互联网金融即将 ...
- c语言考研试题 北京大学,(北大计算机)考研经验贴
有一次去北 大看高中同学,北大的一草一木,北大的一塔湖图,还有北大百年的文化底蕴都深深吸引 着我,我被彻底打动了,于是对计算机的热爱和对北大的欣赏相结合我自然的定下了目标 .老实讲,定一个这样的目标容 ...
最新文章
- 一个管理者的反思(太深刻了!)
- 设计模式复习-建造者模式
- linux修改selinux
- 使用ANY和ALL条件
- 全网最详细的Sentinel安装教程,没有之一!谁反对?(Linux+windows)
- Tecplot中使用公式
- python未定义名称大小_名称错误:未定义名称“高度”
- 技术文档(12)-- Linux权限总结
- 1)vmware station 14下安装linux系统
- python解zuobiaoxi方程_从马尔可夫链到蒙特卡洛-Metropolis方法(Python)
- 用pc浏览器打开手机页面
- yii2 学习历程——添加验证码
- 每30s监控磁盘根分区空间大小
- 3dmax学习7——车削修改器
- 对比Cnblogs.com、CSDN.net和Javaeye.com的人气
- 我爱淘二次冲刺阶段2
- (七) 立创EDA之PCB设计示例
- SEO优化:什么是SEO链轮?站群与博客群的优劣比较!
- Fansblog (HDU - 6608)(威尔迅定理+费马小定理)
- cf #818 Div.2(A~C)
热门文章
- Axure 团队原型创建
- 获取Flickr API key及利用Python获取Flickr数据
- 新型场板提高阻断电压
- 乐鑫科技,活跃在国际舞台上的中国芯
- 2k2实用球员_nba2kol2实用球员
- 读论文-SOD-U2Net算法研究
- 贾树森_(第一章)手机摄影拍摄详解_(第一课)手机摄影四个真相
- 计算机三个人的英语情景对话,三个人的英语对话情景阅读
- Mining Version Histories to Guide Software Cha(挖掘版本记录以指导软件更改论文注解)
- 2019-10-28 超大文本打开工具PilotEdit