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的更多相关文章

  1. hdu 4848 搜索+剪枝 2014西安邀请赛

    http://acm.hdu.edu.cn/showproblem.php?pid=4848 比赛的时候我甚至没看这道题,事实上不难.... 可是说实话,如今对题意还是理解不太好...... 犯的错误 ...

  2. hdu 4848 Wow! Such Conquering! (floyd dfs)

    Wow! Such Conquering! Problem Description There are n Doge Planets in the Doge Space. The conqueror ...

  3. HDU 4848 - Wow! Such Conquering!

    Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Descriptio ...

  4. ACM 暴力搜索题 题目整理

    UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...

  5. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  7. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  8. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  9. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

随机推荐

  1. sql 语句 截取字符串的两种方案

    方案一:使用内置的函数 SUBSTRING,CHARINDEX,LEN三个内置函数 理论: SUBSTRING语法   SUBSTRING ( value_expression , start_exp ...

  2. Tengine vs openresty

      简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到 ...

  3. I-MooFest(POJ 1990)

    MooFest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5697   Accepted: 2481 Descripti ...

  4. mouseover和mouseout多次触发解决方法(兼容ie和firefox)(转)

    在用到mouseover和mouseout事件来作为事件触发的条件,但是如果我们用做触发的元素内部有其他的元素的时候当鼠标移上的时候会反复的触发mouseover和mouseout事件,如导致菜单闪烁 ...

  5. guava学习--Optional可空类型

    转载:http://www.cnblogs.com/whitewolf/p/4231783.html Null sucks 回到本文主题Optional.在我日常编程中NullPointerExcep ...

  6. biztalk中使用WCF-SQL接受传送数据【转】

    接触biztalk时间不长,转载一篇学习教程: http://www.cnblogs.com/chnking/archive/2010/05/09/1731098.html chnking写的. 一. ...

  7. netbios wins dns LLMNR

    NetBIOS名称 Network Basic Input/Output System  (RFC-1001,1002)网络基本输入/输出系统协议 NetBIOS是一种高级网络接口,最初是在硬件中实 ...

  8. 使用WebView视图显示网页-----迷你浏览器

    Android提供了WebView组件,表面上来看,这个组件与普通ImageView差不多,但实际上,这个组件的功能要强大得多,WebView组件本身就是一个浏览器实现,它的内核基于开源WebKit引 ...

  9. bzoj 2242: [SDOI2011]计算器

    #include<cstdio> #include<iostream> #include<map> #include<cmath> #define ll ...

  10. 类成员函数作为pthread_create函数参数

    from:http://www.cnblogs.com/shijingxiang/articles/5389294.html 近日需要将线程池封装成C++类,类名为Threadpool.在类的成员函数 ...