题目大意:第一行给出n代表有n张地图碎片,接下来n行给出碎片上的信息,第一个单词代表这个碎片上的节点,后边所有的节点都与第一个节点相连接.

最后一行给出查询,问从A到B是否存在一条路径可以通过给定的拼图的一部分拼凑而成,可行的话输出路径,否则输出no route find

可能是比赛当时受了先前题目的影响,看到这题之后第一时间想到的就是最短路,题目保证了最多只有一条路.因此,只需要把每个节点名字一一对应成id,id对应节点,然后跑一次最短路,然后找出那条路径即可.

其中有一个数据一直没过:因为映射的时候id从0开始标记,而默认的map影射也是从0开始的,如果id从1开始可以自动避过这个坑.

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
int n;
int cnt;
map<string,int>m;
map<int,string> mm;
vector<string>v;
string s;
int vis[5000],dis[5000],pre[5000];
int G[5000][5000];
void init()
{m.clear();mm.clear();for(int i=0;i<5000;i++){for(int j=0;j<5000;j++){if(i==j)G[i][j]=0;else G[i][j]=inf;}}memset(dis,inf,sizeof(dis));memset(vis,0,sizeof(vis));memset(pre,-1,sizeof(pre));cnt=0;getline(cin,s);for(int i=0; i<n; i++){v.clear();getline(cin,s);string temp = "";for(int i=0; i<s.size(); i++){if(s[i]==' '){v.push_back(temp);temp="";continue;}else temp+=s[i];}v.push_back(temp);for(int i=0;i<v.size();i++){if(m.count(v[i])==0){m[v[i]]=cnt;mm[cnt]=v[i];cnt++;}}//cout<<m[v[0]]<<endl;for(int i=1;i<v.size();i++)G[m[v[0]]][m[v[i]]]=G[m[v[i]]][m[v[0]]]=1;}
//    for(int i=0;i<cnt;i++){
//        for(int j=0;j<cnt;j++){
//            cout<<G[i][j]<<" ";
//        }
//        cout<<endl;
//    }
}void dij(int st){dis[st]=0;vis[st]=1;for(int i=0; i<cnt; i++){int minnum=inf,next=st;for(int j=0; j<cnt; j++){if(vis[j]==0&&minnum>dis[j]){minnum=dis[j];next=j;}}vis[next]=1;for(int j=0; j<cnt; j++){if(vis[j]==0){if(dis[j]>dis[next]+G[next][j]){dis[j]=dis[next]+G[next][j];pre[j]=next;}}}}
}
void path(int ed)
{if(pre[ed]!=-1){path(pre[ed]);cout<<mm[pre[ed]]<<" ";}
}int main()
{//freopen("1.txt", "r", stdin);std::ios::sync_with_stdio(false);cin>>n;init();string sst,sed;cin>>sst>>sed;if(m.count(sst)==0||m.count(sed)==0){cout<<"no route found"<<endl;return 0;}dij(m[sst]);//cout<<dis[m[sed]]<<endl;if(dis[m[sed]]==inf)cout<<"no route found"<<endl;else {path(m[sed]);cout<<mm[m[sed]];}return 0;
}

Kattis-torn to pieces相关推荐

  1. 黑暗之光三部曲 黑暗之光三部曲小说

    故事发生在一座因急难而建成的城市微光市,微光市的孩子在十二岁时,就要离开学校,开始工作.莉娜想当信使,可是,她抽到的不是信使,而是地下管道工:杜恩想待在地下,他打算研究.修复发电机,解决微光市的危机. ...

  2. 计算机考试中英文打字题,五笔及中英文打字试题()含答案.doc

    五笔及中英文打字试题()含答案 中英文打字试题(1) 填空题(每空1分,共10分) 在打字键区的正中央有8个键,即左边的键右边的键是打字时手指所处的基准位置??????? ?? ????和?????? ...

  3. 【程序人生】我在过去 5 年里读了 500 本书——这些是前 5 名

    I Read 500 Books in the Last 5 Years - These Are the Top 5 我在过去 5 年里读了 500 本书--这些是前 5 名 These are th ...

  4. ICPC North America Qualifier Contest 2015 按通过率从 J开始

    J. Torn To Pieces 思路很简单,主要是怎么实现: #include <bits/stdc++.h> using namespace std; typedef long lo ...

  5. HDU 4628 Pieces(DP + 状态压缩)

    Pieces 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628 题目大意:给定一个字符串s,如果子序列中有回文,可以一步删除掉它,求把整个序列删除 ...

  6. 操作系统系列「一」OPERATING SYSTEMS THREE EASY PIECES 《操作系统导论》

    OPERATING SYSTEMS THREE EASY PIECES 全书中文版: https://github.com/remzi-arpacidusseau/ostep-translations ...

  7. Kattis - icpccamp ICPC Camp(二分+贪心)

    题目链接:点击查看 题目大意:给出两种种类的数字分别 m1m_1m1​ 和 m2m_2m2​ 个,现在要求匹配 nnn 个不同种类的数字,每个数字只能使用一次,且两数之和不能超过 sss,输出任意两对 ...

  8. CodeForces - 1208F Bits And Pieces(SOSdp+贪心)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,求出贡献最大的三元对:(i,j,k)(i,j,k)(i,j,k),满足 i<j<ki<j<ki<j<k ...

  9. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F. Bits And Pieces sosdp预处理超集

    传送门 文章目录 题意: 思路: 题意: n≤1e6,ai≤2e6n\le1e6,a_i\le2e6n≤1e6,ai​≤2e6 思路: 由于(aj&ak)(a_j \And a_k)(aj​& ...

  10. codeforces1208 F. Bits And Pieces(SOS DP)

    heyuhhh高维前缀和总结 SOS DP SOS Dynamic Programming [Tutorial] 之前写过相关的题目枚举子集dp 枚举子集 F[mask]=∑i∈maskA[i],i& ...

最新文章

  1. hadoop作业初始化过程详解(源码分析第三篇)
  2. linux c调用wcf服务,Silverlight+WCF实现跨域调用
  3. java jfreechar鱼刺图_java使用jfreechar绘制饼型统计图
  4. Android下强制打开软键盘
  5. 前端开发 —— BOM
  6. Linux 安装Python37
  7. 加一度分享5大竞价经验,让流量更大更精准
  8. 移动开发--移动web特别样式处理
  9. 一元线性回归(Python)
  10. 【清风建模】数学建模论文写作小技巧
  11. 麦肯锡卓越工作方法 读书体会
  12. 从头学计量-SPSS攻克常见信度检验1
  13. YARN——NM重启后的任务恢复
  14. 腾讯优图贾佳亚:当AI进入产业应用时代时,计算机视觉技术更应该服务于人才对!
  15. android wifi分享文件下载,WiFi文件共享
  16. 手推向量投影长度、投影向量
  17. LBS学习相关网址(Jonathan Raper教授整理)
  18. iPhone系统可以降级吗?
  19. 机器学习: Metric Learning (度量学习)
  20. bzoj1937: [Shoi2004]Mst 最小生成树

热门文章

  1. 奇门遁甲大量高清视频教程免费分享
  2. 计算机毕业论文设计动画,计算机动画
  3. Python Django 电子商务网站教程
  4. 菜鸟变大神,8个创意移动电源实例教程
  5. 穿毛呢大衣戴墨镜,大衣哥玉米地里高歌一曲
  6. leaflet 常用插件
  7. 一个人,一个多月,一个Top App : 9Cut小记
  8. 智能交通系统论文计算机,智能交通系统毕业论文.doc
  9. html文档兼容模式,怎么取消兼容模式 excel出现兼容模式怎么取消
  10. KC认证加急费用周期