#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int n,startx,starty,finx,finy,f[][],a[],b[],c[],d[],v[],dis[][];
int main()
{
int i,j,k=;
scanf("%d%d%d%d%d",&n,&startx,&starty,&finx,&finy);
memset(dis,,sizeof(dis));
dis[startx][starty]=;
int l=n*n;
for(i=;i<=n;i++)
for(j=;j<=n;j++)
scanf("%d",&f[i][j]);
for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
{
if(i==n)
{
if(j==n) break;
a[k]=i;
b[k]=j;
c[k]=i;
d[k]=j+;
v[k++]=f[i][j+];
}
else
{
if(j==n)
{
a[k]=i;
b[k]=j;
c[k]=i+;
d[k]=j;
v[k++]=f[i+][j];
continue;
}
else
{
a[k]=i;
b[k]=j;
c[k]=i;
d[k]=j+;
v[k++]=f[i][j+];
a[k]=i;
b[k]=j;
c[k]=i+;
d[k]=j;
v[k++]=f[i+][j];
continue;
}
}
}
}
k--;
for(i=k+;i<=k*;i++)
{
a[i]=c[i-k];
b[i]=d[i-k];
c[i]=a[i-k];
d[i]=b[i-k];
v[i]=f[c[i]][d[i]];
}
k*=;
//for(i=1;i<=k;i++) printf("%d %d %d %d %d\n",a[i],b[i],c[i],d[i],v[i]); printf("%d",k);
for(i=;i<l;i++)
{
int check=;
for(j=;j<=k;j++)
{
if(dis[c[j]][d[j]]>dis[a[j]][b[j]]+v[j])
{
dis[c[j]][d[j]]=dis[a[j]][b[j]]+v[j];
check=;
}
}
if(check==) break;
}
/*
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d ",dis[i][j]);
printf("\n");
}
*/
printf("%d",dis[finx][finy]+f[startx][starty]);
return ;
}
HD200703排雷
难度级别:B;            运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述
一片战场被划分为N行N列小区域,敌我双方各占据其中一个小区域。
根据侦察,敌人派出工兵潜入各区域(包括我方和敌方所在区域)布设了地雷。
现我方侦察兵已经掌握了各片区域的地雷数量。为偷袭敌人,需要寻找一条从我方区域通向敌方区域并且地雷总数最少的路径,执行偷袭任务时,此路净上的地雷都需要排除。
请你编一个名为MIN的程序,计算出偷袭路径最少需要排雷多少个。
说明:排雷总数包括我方和敌方所在区域的地雷数。偷袭路径是由一个个区域连接而成,每个区域只能通向上、下、左、右的4个相邻区域。
输入
输入第一行只有一个数N,表示每行每列区域个数。1<N<30。 第二行两个数表示我方区域所在的行和列。第三行两个数表示敌方区域所在的行和列。这四个数均为不超过N的正整数。 接下去的N行中,每行有N个数,表示整个战场的地雷分布。每个区域的地雷数均是小于10000的非负整数。
输出
输出中只有一个数,即最小排雷数。
输入示例
4 2 1 3 3 1 1 1 1 2 9 8 3 8 9 4 2 1 2 3 4
输出示例
15

为什么WA!!!

HD200703的更多相关文章

随机推荐

  1. 3D 特征点概述(1)

    很久没有更新相关内容了,很多朋友过来私信我,但由于时间问题,不能一一为大家解答,本人也不是无所不知的大神,还请各位谅解. 本文主要总结PCL中3D特征点的相关内容,该部分内容在PCL库中都是已经集成的 ...

  2. SpringMVC Jsp include 错误404 不显示页面

    一.问题描述: 1. 新建了taglibs.jsp存放jstl标签库和 jsp建站基本变量ctx 和basPath 如下  (位置WEB-INF\common) <%@ page import= ...

  3. Ubuntu下安装Solr

    1.在清华开源软件镜像站或者http://www.us.apache.org/dist/ 下载Solr的安装包,我下载的是solr-6.5.1.tgz 2.解压并移动到/usr/local目录下 3. ...

  4. eclipse java ee jsp tomcat Server文件夹给删了,怎么办?

    右键 选择属性 选择Switch location 就可以了

  5. [PHP] 09 - PHP 7 & Tricky

    新特征列表: 序号 内容 1 PHP 标量类型与返回值类型声明 2 PHP NULL 合并运算符 3 PHP 太空船运算符(组合比较符) 4 PHP 常量数组 5 PHP 匿名类 6 PHP Clos ...

  6. 8 -- 深入使用Spring -- 6...2 Spring支持的事务策略

    8.6.2 使用XML Schema配置事务策略 Spring 同时支持编程式事务策略和声明式事务策略,通常都推荐采用声明式事务策略. ⊙ 声明式事务能大大降低开发者的代码书写量,而且声明式事务几乎不 ...

  7. js - 常用功能方法汇总(updating...)

    一.查值的类型(可用于拷贝) /* * @Author: guojufeng@ * @Date: 2017-12-20 15:07:06 * @purpose 获取一个值的类型 * @param {v ...

  8. 10.5ORM回顾(2)

    2018-10-5 14:47:57 越努力越幸运!永远不要高估自己! ORM的聚合和分组查询!!! # #####################聚合和分组##################### ...

  9. K - Super A^B mod C

    Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,C<=1000000000,1<=B ...

  10. 淘宝Tengine 2.1.2 稳定版(nginx/1.6.2) Centos 6.5安装教程

    淘宝Tengine 2.1.2 稳定版(nginx/1.6.2) Centos 6.5 安装教程 Tengine 简介: Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大 ...