LA 4256 Salesman
来源:互联网 发布:南宁众才商贸知乎 编辑:程序博客网 时间:2024/05/21 08:36
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int d[260][260];int dp[260][260];int n,q,a[260];int main(){int T;scanf("%d",&T);while(T--){memset(d,0,sizeof(d));memset(dp,0x3f,sizeof(dp));scanf("%d%d",&n,&q);while(q--){int a,b;scanf("%d%d",&a,&b);d[a][b]=d[b][a]=1;}int len;scanf("%d",&len);for(int i=0;i<len;i++)scanf("%d",&a[i]);for(int k=0;k<=n;k++)if(k==a[0])dp[0][k]=0;elsedp[0][k]=1;for(int i=1;i<len;i++){for(int j=1;j<=n;j++){if(j==a[i]) for(int k=1;k<=n;k++){dp[i][j]=min(dp[i][j],dp[i-1][j]); if(d[j][k]) dp[i][j]=min(dp[i][j],dp[i-1][k]); else dp[i][j]=min(dp[i][j],dp[i-1][k]+1);}elsefor(int k=1;k<=n;k++){dp[i][j]=min(dp[i][j],dp[i-1][j]+1); if(d[j][k]) dp[i][j]=min(dp[i][j],dp[i-1][k]+1); else dp[i][j]=min(dp[i][j],dp[i-1][k]+2);}}}int res=0x3f3f3f3f; for(int i=1;i<=n;i++) res=min(res,dp[len-1][i]); printf("%d\n",res);}}
阅读全文
0 0
- LA 4256 Salesman
- UvaLive 4256 Salesman (DP)
- Salesman 总结
- The Salesman
- LA 4256 Salesmen
- LA 4256 Salesmen
- LA 4256 Salesmen
- la la la, la la la
- LA 4256 Salesmen 线性dp
- Poj3033 Traveling Salesman(搜索)
- The Traveling Salesman Problem
- hdu5402 Travelling Salesman Problem
- hdu5402 Travelling Salesman Problem
- hdu5402Travelling Salesman Problem 构造
- NOIP2015 PJ 4 salesman
- bzoj 4472: [Jsoi2015]salesman
- <OJ_Sicily>Travelling Salesman Problem
- UVALive4256-Salesman(dp)
- Stars POJ
- linux下CentOS简体中文乱码问题
- Jvm dump介绍与使用
- 计算阶乘结果中0的个数【每日一题】
- 自定义组合控件
- LA 4256 Salesman
- 业界 | OpenAI提出强化学习近端策略优化,可替代策略梯度法
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- 2017滴滴校招 末尾0的个数(数学知识)
- 关于yii2中支付宝电脑网站支付
- Python
- makefile 模板
- [未完待续][NOI2017模拟]图样图森破
- Uva10817