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] 一塔湖图相关推荐

  1. 一塔湖图(codevs 1024)

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

  2. CODE[VS]1024 一塔湖图

    题目:http://codevs.cn/problem/1024/ 思路:根据数据建立燕园路口连接矩阵,然后用floyd算法求解最有路径.题目,数据5有误,t与k数据颠倒即可得到答案92. 题解: / ...

  3. 久久未至的Codevs1024一塔湖图解题报告

    一直想给这个题写个解题报告但是给忘了OTZ难产了这么久终于出来了 这个题当时坑了我一个星期整,所以一定要写一个解题报告纪念一下 1024 一塔湖图 时间限制: 1 s 空间限制: 128000 KB ...

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

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

  5. PKU2019暑期学堂 游记

    诈尸写博客QaQ 一塔湖图 Day 0 18:00 从学校出发 with另外三个同学 前往南站 20:20上动车 感觉人好少的样子 房间灯是坏的,还换了一间... 在火车上刷知乎,提前体验一下夏令营, ...

  6. 把QQ群共享当做网盘用感觉还不错

    作者:iamlaosong 网上看到有人把QQ群的共享文件区当网盘用,试了一下,感觉还不错. 以前我是用QQ邮箱中的文件中转站当网盘使用的,准确的来说是当U盘使用.QQ邮箱中的记事本则用来记录一些备忘 ...

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

    编者按:8月15日,第六届微软"编程之美"挑战赛在选手的火热比拼中圆满落下帷幕."编程之美"挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起, ...

  8. 互联网金融青年会成立一周年庆典在京举办

    2015年11月15日,互联网金融(北京)高峰论坛暨互联网金融青年会成立一周年庆典在京举办.2015年是互联网金融发展历程中颇具意义的一年.随着行业指导意见的发布,监管框架越来越明晰,在互联网金融即将 ...

  9. c语言考研试题 北京大学,(北大计算机)考研经验贴

    有一次去北 大看高中同学,北大的一草一木,北大的一塔湖图,还有北大百年的文化底蕴都深深吸引 着我,我被彻底打动了,于是对计算机的热爱和对北大的欣赏相结合我自然的定下了目标 .老实讲,定一个这样的目标容 ...

最新文章

  1. 一个管理者的反思(太深刻了!)
  2. 设计模式复习-建造者模式
  3. linux修改selinux
  4. 使用ANY和ALL条件
  5. 全网最详细的Sentinel安装教程,没有之一!谁反对?(Linux+windows)
  6. Tecplot中使用公式
  7. python未定义名称大小_名称错误:未定义名称“高度”
  8. 技术文档(12)-- Linux权限总结
  9. 1)vmware station 14下安装linux系统
  10. python解zuobiaoxi方程_从马尔可夫链到蒙特卡洛-Metropolis方法(Python)
  11. 用pc浏览器打开手机页面
  12. yii2 学习历程——添加验证码
  13. 每30s监控磁盘根分区空间大小
  14. 3dmax学习7——车削修改器
  15. 对比Cnblogs.com、CSDN.net和Javaeye.com的人气
  16. 我爱淘二次冲刺阶段2
  17. (七) 立创EDA之PCB设计示例
  18. SEO优化:什么是SEO链轮?站群与博客群的优劣比较!
  19. Fansblog (HDU - 6608)(威尔迅定理+费马小定理)
  20. cf #818 Div.2(A~C)

热门文章

  1. Axure 团队原型创建
  2. 获取Flickr API key及利用Python获取Flickr数据
  3. 新型场板提高阻断电压
  4. 乐鑫科技,活跃在国际舞台上的中国芯
  5. 2k2实用球员_nba2kol2实用球员
  6. 读论文-SOD-U2Net算法研究
  7. 贾树森_(第一章)手机摄影拍摄详解_(第一课)手机摄影四个真相
  8. 计算机三个人的英语情景对话,三个人的英语对话情景阅读
  9. Mining Version Histories to Guide Software Cha(挖掘版本记录以指导软件更改论文注解)
  10. 2019-10-28 超大文本打开工具PilotEdit