HDU 4848
http://acm.hdu.edu.cn/showproblem.php?pid=4848
题意:求遍历所有点的最小值(这个答案是加i点到起始点的距离,不是当前点到i的距离),必须在ti[i]前到达i点
题解:暴搜,剪枝是((当前值>ans)&&(当前点到未到点的时间加上起点到当前点的时间大于未到点的截止时间))则停止,遍历到n个点停止搜索,各点间的最短路用floyd处理
思考:用暴搜贼简单的一道题,难在勇于暴搜的那份勇气,比赛的时候我们根本没读这道题也没有什么好说的了
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std ;
const int INF=0xfffffff ;
int n ;
int dis[][],ti[],vis[],ans ; void floyd()
{
for(int k= ;k<n ;k++)
{
for(int i= ;i<n ;i++)
{
for(int j= ;j<n ;j++)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]) ;
}
}
} void dfs(int now,int s,int t,int sum)
{
if(s==n)
{
ans=min(ans,sum) ;
return ;
}
if(sum>ans)return ;
for(int i= ;i<n ;i++)
if(!vis[i] && dis[now][i]+t>ti[i])return ;
for(int i= ;i<n ;i++)
{
if(!vis[i])
{
vis[i]= ;
dfs(i,s+,t+dis[now][i],sum+dis[now][i]*(n-s)) ;
vis[i]= ;
}
}
} int main()
{
while(~scanf("%d",&n))
{
for(int i= ;i<n ;i++)
for(int j= ;j<n ;j++)
scanf("%d",&dis[i][j]) ;
for(int i= ;i<n ;i++)
scanf("%d",&ti[i]) ;
floyd() ;
ans=INF ;
memset(vis,,sizeof(vis)) ;
dfs(,,,) ;
if(ans==INF)puts("-1") ;
else printf("%d\n",ans) ;
}
return ;
}
HDU 4848的更多相关文章
- hdu 4848 搜索+剪枝 2014西安邀请赛
http://acm.hdu.edu.cn/showproblem.php?pid=4848 比赛的时候我甚至没看这道题,事实上不难.... 可是说实话,如今对题意还是理解不太好...... 犯的错误 ...
- hdu 4848 Wow! Such Conquering! (floyd dfs)
Wow! Such Conquering! Problem Description There are n Doge Planets in the Doge Space. The conqueror ...
- HDU 4848 - Wow! Such Conquering!
Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Descriptio ...
- ACM 暴力搜索题 题目整理
UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
随机推荐
- System.OutOfMemoryException: 内存不足。(转)
主要是网站生成水印图片的时候遇到的 原文地址:http://www.cnblogs.com/longgel/archive/2010/03/24/1693776.html 今天调试asp.net 程序 ...
- C#泛型接口
为泛型集合类或表示集合中项的泛型类定义接口通常很有用.对于泛型类,使用泛型接口十分可取,例如使用 IComparable<T> 而不使用 IComparable,这样可以避免值类型的装箱和 ...
- 开源项目导入eclipse的一般步骤[转]
下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .project文件,那么说明这个项目本来就是ec ...
- java之io之file类的常用操作
java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOE ...
- PL/SQL安装教程
转自:http://www.cnblogs.com/volnet/archive/2012/05/22/2513728.html
- C++-函数模板特化如何避免重复定义
我正在用一个基于模板的库源代码,该库包含一些针对特定类型的模板函数特化.类模板,函数模板和模板函数特化都在头文件中.我在我的.cpp文件中 #include 头文件并编译链接工程.但是为了在整个工程 ...
- IBInspectable / IBDesignable
无论陈词滥调多少次,比起一个需要我们记住并且输入什么的界面来说,如果替换成我们能够看见并可控制的界面的话将会是巨大的进步. Xcode 6 提供了这样一个替代,在旧技术上建立新的互动.在设计项目的时候 ...
- typedef定义函数类型或函数指针
转载请标明出处: 最近在看redis的代码,发现了有关函数指针的部分,想把它记下来. 在redis中有类似下面的定义,利用typedef 定义了一个新的类型,这种类型是一个函数: typedef vo ...
- JS constructor
1.每个对象都有一个constructor,都指向创建该对象的方法. 2.function对象的prototype的constructor也是指向该方法.如果对prototype进行重写,constr ...
- 数组的foreach方法和jQuery中的each方法
/* * 数组的forEach方法: * 1.返回给回调的参数先是值,然后是下标 * 2.回调函数执行时内部的this指向window * */ /*var arr = [1,2,3,4,5]; ar ...