将不能到达的路封了,由于n小跑个floyd就可以了。

//noip2012 文化之旅
//by dadatu
#include<iostream>
#include<cstdio>
#define INF 0x3f3f3f3f
using namespace std;int c[1010],dist[1010][1010],f[1010][1010];
int n,m,k,beginn,endd;int main()
{scanf("%d%d%d%d%d",&n,&k,&m,&beginn,&endd);for (int i=1;i<=n;i++) scanf("%d",&c[i]);for (int i=1;i<=k;i++)for (int j=1;j<=k;j++) scanf("%d",&f[i][j]);for (int i=1;i<=m;i++){int x,y,d;scanf("%d%d%d",&x,&y,&d);dist[x][y]=dist[y][x]=d;}for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){if (i==j||!dist[i][j]) dist[i][j]=INF;if (f[c[j]][c[i]]||c[i]==c[j]) dist[i][j]=INF+1;//j文化对i文化排斥表示i不能到j,INF+1表示封路了}for (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)if(dist[i][j]!=INF+1) dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);printf("%d\n",(dist[beginn][endd]==INF||dist[beginn][endd]==INF+1)?-1:dist[beginn][endd]);
/*  for (int i=1;i<=n;i++){for (int j=1;j<=n;j++) cout<<dist[i][j]<<' ';printf("\n");}
*/return 0;
}

【noip2012】 文化之旅 floyd相关推荐

  1. noip2012 文化之旅 (深搜,最优性剪枝)

    P2070 [NOIP2012P4]文化之旅 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP 2012 普及组 题4 描述 有一位使者要游历各国,他 ...

  2. NOIP2012pj文化之旅[floyd]

    描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次,即如果他学习了某种文化,则他就不能到达其他有这种文化的国家.不同的国家可能有相同的文化.不同文化的国家 ...

  3. NOIP2012——文化之旅

    这道题最初博主理解错误,误以为学了某种文化就不能到排斥这种文化的地方去(明明也是这样写的好吧),实际上只用判断到达的国家是否排斥现在所在国家的文化,那就简单多了,Floyd 走起,下面是代码: #in ...

  4. NOIP2012 文化之旅

    题目描述 Description 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可 ...

  5. NOIP2012 普及组 T4 文化之旅

    文化之旅 (NOIP2012 普及组 T4 ) 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文 ...

  6. [普及] NOIP 2012 文化之旅

    题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同 ...

  7. NOIP 2012 普及组 复赛 culture 文化之旅

    NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...

  8. 文化之旅(dijstra)

    2012_p4 文化之旅 (culture.cpp/c/pas) 时间限制: 1 Sec  内存限制: 128 MB 提交: 43  解决: 16 [提交][状态][讨论版][命题人:外部导入] 题目 ...

  9. 【codevs1316NOIP2012PJ】文化之旅,无题

    文化之旅 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 有一位使者要游历各国,他每到一个国 ...

最新文章

  1. 数据库设计的10个最佳实践
  2. combobox数据获取及使用总结
  3. 通过DNS通道传输的交互式PowerShell脚本
  4. SDN和物联网促使网络产生巨大结构性变革 IoT是企业增收关键
  5. [小巩u3d] u3d基础知识
  6. wxpython应用程序对象与顶级窗口_wxPython--学习笔记
  7. Jupyter 绘图怎么显示中文
  8. RocketMQ消费幂等性处理
  9. 如果简历上真写了“会多线程”,那面试一般会被怎么问?
  10. 阿里云服务器搭配宝塔面板安装Redis为网站提速
  11. [转载] c++ iterator 失效_C++ STL迭代器失效问题
  12. 如何利用ikuai将闲置电脑配作软路由器?
  13. js实现图片的随机抽奖
  14. SAP Commerce Cloud Github 仓库管理规范
  15. java-net-php-python-jspm智守护学生健康管理系统软件设计与开发计算机毕业设计程序
  16. 第一份BI分析项目总结
  17. 银联云闪付二维码支付对接流程和测试
  18. C语言关系运算符详解
  19. linux世界里类似source insight的工具(zz)-如梦初醒-中国教育人博客
  20. GD32F30x系列系统及存储器架构

热门文章

  1. 期货开户流程简便网上可办
  2. firebug的使用
  3. 嵌入式arm linux设置登录用户和用户密码
  4. 使用XPath查询带有命名空间(有xmlns)的XML(转)
  5. elasticsearch控制查询精准度
  6. 中晋最新消息2020年_拍拍贷宣布退出网贷是真的吗?拍拍贷2020年最新消息
  7. JavaScript(完结)
  8. 怎样才能开通微信公众号留言功能?
  9. python重复抽奖_用Python实现简单的抽奖程序
  10. 使用C#选择文件夹、打开文件夹、选择文件