初看这道题,就是想到bfs呗,结果发现会超时,因为传送门那一块不太好处理。后来发现高度竟然只有100,那枚举高度建点即可。然后就是普通的最短路计算了。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#define inf 0x3f3f3f3f
using namespace std;
queue<int> que;
int h[105][105],cnt,src,en;
int vis[20000],dis[20000];
struct node
{int w,v,next;
}s[500009];
int head[20000];
void add(int u,int v,int w)
{s[cnt].v=v;s[cnt].w=w;s[cnt].next=head[u];head[u]=cnt++;
}
int getid(int i,int j)
{return i*100+j;
}
void spfa(int num)
{for(int i=0;i<=num;i++){vis[i]=0;dis[i]=inf; } dis[src]=0;while(!que.empty()) que.pop();vis[src]=1;que.push(src);while(!que.empty()){int pre=que.front();que.pop();vis[pre]=0;for(int i=head[pre];i!=-1;i=s[i].next){if(dis[s[i].v]>dis[pre]+s[i].w){dis[s[i].v]=dis[pre]+s[i].w;if(!vis[s[i].v]){que.push(s[i].v);vis[s[i].v]=1;}}}}
}
int main()
{int T,ax,ay,bx,by,t,p,sx,sy,ox,oy,n,m,r;//freopen("t.txt","r",stdin);scanf("%d",&T);while(T--){cnt=0;memset(head,-1,sizeof(head));scanf("%d%d%d",&n,&m,&r);for(int i=0;i<n;i++)for(int j=0;j<m;j++)scanf("%d",&h[i][j]);for(int i=0;i<n;i++)for(int j=0;j<m;j++){if(i<n-1)   add(getid(i,j),getid(i+1,j),h[i][j]+h[i+1][j]);if(j<m-1)  add(getid(i,j),getid(i,j+1),h[i][j]+h[i][j+1]);if(j>=1)  add(getid(i,j),getid(i,j-1),h[i][j]+h[i][j-1]);if(i>=1)  add(getid(i,j),getid(i-1,j),h[i][j]+h[i-1][j]);}int num=(n-1)*100+m;for(int i=1;i<=r;i++){scanf("%d%d%d%d%d%d",&ax,&ay,&bx,&by,&t,&p);ax--,ay--,bx--,by--;for(int j=ax;j<=bx;j++){for(int g=ay;g<=by;g++){add(getid(j,g),num+h[j][g],0);add(num+h[j][g]+101,getid(j,g),0);}}for(int i=0;i<=100;i++)for(int j=i;j<=i+p&&j<=100;j++){add(num+i,num+j+101,t);add(num+j,num+i+101,t);}num+=202;}scanf("%d%d%d%d",&sx,&sy,&ox,&oy);src=getid(sx-1,sy-1);en=getid(ox-1,oy-1);//cout<<src<<" "<<end<<endl;spfa(num);printf("%d\n",dis[en]);}return 0;
}

xdoj 1202 The Offer - Lunatic相关推荐

  1. XDOJ 1202: The Offer - Lunatic

    XDOJ 1202: The Offer - Lunatic 题目链接:http://acm.xidian.edu.cn/problem.php?id=1202 题目大意:给定一个$n \times ...

  2. 【xdoj难题集】1202 The Offer - Lunatic(附优化版)

    说实话2017年的校赛挺难的,最后三道都不简单,这道题一开始吓了我一大跳,想着如果用最短路算法,魔法阵怎么也要上千万条路径,不过之后看到海拔最高只有100之后总算是安心了. 先说一说大体思路,首先肯定 ...

  3. 一文全搞定:应届生offer,三方,劳动合同区别与注意事项

    文章目录 1 offer,三方,劳动合同是什么? 1.1 offer 1.2 三方协议 1.3 劳动合同 1.4 三者区别与联系 2 签订三方の注意事项 2.1 户口 2.2 工作内容 2.3 培训 ...

  4. 中信银行总行信息科技部笔试面试以及最后拿offer经历

    中信银行 提交简历 19年的招聘网站十分垃圾,提交只能用IE,感觉今年的招聘官网十分不错(ps:开发招聘官网的团队刚好去实习过一段时间,氛围不错,想了解的,可以介绍下的) 笔试 内容多,一般可能确实还 ...

  5. xdoj(1187~1195 )Orz熊猫杯。

    这个月好多事啊马上四级,ccf,选修的大作业,两次数据结构上机报告,物理实验考试,以及这个月过去的马上就到了期末考试了.usaco暂时有空就刷没空就不刷了. 上个星期日学校Oj上搞了一个比赛Orz熊猫 ...

  6. java sip 携带sdp_SIP中的SDP offer/answer交换初探

    1.早期媒体 无论是在PSTN还是在VoIP网络中,一个呼叫的最终目的让两个用户进行交谈(conversation).这里我们将由用户之间的交谈所产生的媒体称为常规媒体("regular m ...

  7. 【剑指offer】顺时针打印矩阵

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26053049 剑指offer上的第20题,九度OJ上測试通过. 题目描写叙述: 输入一个矩 ...

  8. Git error: Unable to negotiate with X.X.X.X : no matching host key type found . their offer: ssh-dss

    2019独角兽企业重金招聘Python工程师标准>>> I am trying to create a git repository on my web host and clone ...

  9. HDU-1203 I NEED A OFFER!-0、1背包及空间优化

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

最新文章

  1. [Bzoj1061][Noi2008]志愿者招募(费用流)
  2. Linux服务器出现java.net.UnknownHostException 异常处理
  3. ARM7/9 的中断与 RTOS 系统(转)
  4. Web布局连载——两栏固定布局(五)
  5. 《剑指offer》包含min函数的栈
  6. windows下看端口占用
  7. 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门(TI达芬奇双核开发资料 [
  8. 海量小文件的开源存储方案选型建议
  9. 腾达AC15改内存闪存刷AC68U梅林
  10. 2020年第十七届中国研究生数学建模竞赛赛题+解压码
  11. c语言头文件下载大全,求C语言头文件下载?
  12. 云南省计算机文字录入考试题,计算机文字录入处理员高级试题A
  13. Hadoop分布式大数据平台
  14. python乒乓球比赛规则_使用Python进行体育竞技分析(预测球队成绩)
  15. uniapp开发微信小程序教程(一)
  16. android学习和广告平台赚钱
  17. 福利:tumblr五年驾龄老司机必备利器
  18. 通过MACE在Android手机上部署深度学习模型
  19. 二叉树的前序遍历-python
  20. 前端自动化测试之chai.js断言库

热门文章

  1. 对于javaScript设计模式的认知与学习
  2. 配置FT2232波特率
  3. rstp 转hls_EasyHLS实现将IPCamera摄像机的RTSP转HLS直播输出
  4. 最新版本 release版本 ceph分布式存储搭建(rook-1.8.6)
  5. [渝粤教育] 四川大学 简明大学化学·物质结构部分入门 参考 资料
  6. random.seed(seed)、np.random.seed(seed)、torch.manual_seed(seed)作用
  7. ZOJ 3380 Patchouli's Spell Cards [基础概率DP+大数]
  8. pytorch中的MSELoss函数
  9. 高中计算机高效课堂和有效教学模式论文,高中班主任高效课堂教学模式的探究...
  10. raid 物理盘缓存状态_Dell PowerEdge系列服务器RAID和物理磁盘开机自检错误信息及说明...