HDU 1428
漫步校园
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2183 Accepted Submission(s): 627
1 2 3
1 2 3
1 2 3
3
1 1 1
1 1 1
1 1 1
/* */
#include<stdio.h>
#include<iostream>
#include<cstdlib>
#include<queue>
using namespace std;
const int HH=(<<)-;
int f[][];
__int64 val[][];
int dis[][];
bool in_Queue[][];
int map[][]={{,},{,},{-,},{,-}};
int n;
struct node
{
int x;
int y;
};
void bfs()
{
int i,x1,y1;
node tmp,tmp2;
queue<node>q;
tmp.x=tmp.y=n;
q.push(tmp);
dis[n][n]=n;
// memset(in_Queue,false,sizeof(in_Queue));
// in_Queue[n][n]=true;
while(q.size()>)
{
tmp=q.front();
q.pop();
// in_Queue[tmp.x][tmp.y]=false;
for(i=;i<;i++)
{
x1=tmp.x+map[i][];
y1=tmp.y+map[i][];
if(x1>=&&x1<=n && y1>=&&y1<=n)
if(dis[x1][y1]==HH||dis[x1][y1]>dis[tmp.x][tmp.y]+f[x1][y1])
{
dis[x1][y1]=dis[tmp.x][tmp.y]+f[x1][y1];
// if(in_Queue[x1][y1]==false)
{
tmp2=tmp;
tmp.x=x1;
tmp.y=y1;
q.push(tmp);
tmp=tmp2;
in_Queue[x1][y1]=true;
}
}
}
}
}
void ceshi()
{
int i,j;
for(i=;i<=n;i++)
{
printf("\n");
for(j=;j<=n;j++)
printf("%d ",dis[i][j]);
}
}
__int64 dfs(int x,int y)
{
int i,x1,y1;
__int64 sum=;
if(x==n && y==n) return ;
if(val[x][y]>) return val[x][y];
for(i=;i<;i++)
{
x1=x+map[i][];
y1=y+map[i][];
if(x1>=&&x1<=n && y1>=&&y1<=n)
{
if(dis[x][y]>dis[x1][y1])
sum+=dfs(x1,y1);
}
}
val[x][y]=sum;
return val[x][y];
} int main()
{
int i,j;
__int64 k;
while(scanf("%d",&n)>)
{
for(i=;i<=n;i++)
for(j=;j<=n;j++)
{
scanf("%d",&f[i][j]);
dis[i][j]=HH;
}
bfs();
memset(val,,sizeof(val));
// ceshi();
k=;
k=dfs(,);
printf("%I64d\n",k);
}
return ;
}
HDU 1428的更多相关文章
- HDU 1428 漫步校园 (BFS+优先队列+记忆化搜索)
题目地址:HDU 1428 先用BFS+优先队列求出全部点到机房的最短距离.然后用记忆化搜索去搜. 代码例如以下: #include <iostream> #include <str ...
- HDU 1428 漫步校园(记忆化搜索,BFS, DFS)
漫步校园 http://acm.hdu.edu.cn/showproblem.php?pid=1428 Problem Description LL最近沉迷于AC不能自拔,每天寝室.机房两点一线.由于 ...
- hdu 1428 漫步校园
http://acm.hdu.edu.cn/showproblem.php?pid=1428 dijstra+dp; #include <cstdio> #include <queu ...
- [HDU 1428]--漫步校园(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1428 漫步校园 Time Limit: 2000/1000 MS (Java/Others) M ...
- hdu 1428(很好的一道题,最短路+记忆化搜索)
漫步校园 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- HDU 1428漫步校园
漫步校园 Problem Description LL最近沉迷于AC不能自拔,每天寝室.机房两点一线.由于长时间坐在电脑边,缺乏运动.他决定充分利用每次从寝室到机房的时间,在校园里散散步.整个HDU校 ...
- hdu 1142(迪杰斯特拉+记忆化搜索)
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- hdu 4052 线段树扫描线、奇特处理
Adding New Machine Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
随机推荐
- Day 12 作业.(完成)
1,将装饰器的所有知识点总结完成,将这几天的作业再整理一遍,还是不会的,就抄代码,一遍不行就三遍,直到所有知识点,所有题都整明白. 2,有时间就画流程图,梳理知识点. 3,上面两项完成的写以下作业. ...
- AGC032D Rotation Sort
题目传送门 Description 给定\(N\)的排列(\(N\leq5000\)),将任一区间最左侧的数插到该区间最右边的代价为\(A\),将任一区间最右侧的数插到该区间最左边的代价为\(B\), ...
- 隐藏导航栏,偏移20PX
1:让ViewController在NavigationBar下面开始布局. automaticallyAdjustsScrollViewInsets作用 当Controller上存在唯一一个UISc ...
- JAVA抽象类和抽象方法(abstract)
一.抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和 ...
- SSH版最大会话连接数
在登录方法中加入如下两行语句,作为程序的入口: SessionListener.isAlreadyEnter(getHttpRequest().getSession(),this.getUserCod ...
- linux 中 iptables关于ping的问题
允许其他机器ping通防火墙 iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p ic ...
- Oracle sys或者system的默认密码
Oracle的sys和system默认密码 system默认:manager sys默认:change_on_install 使用SQL Plus登录数据库时,system使用密码manager可 ...
- Elasticsearch四种常见的相关度分数优化方法
**1.boost方式 ** 简单粗暴,最常用. 需求:查询出title和content中包含java spark的document 方式1: GET /forum/article/_search { ...
- (转)mysql explain详解
原文:http://www.cnblogs.com/xuanzhi201111/p/4175635.html http://yutonger.com/18.html http://www.jiansh ...
- 详解Python中的join()函数的用法
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的 ...