栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1118 N

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1118 N

#include<iostream>#include<stdio.h>#include<map>#include<string>using namespace std;map<string,int> maps;int fa[200];int find(int number){   if(fa[number]==number) return number;    else    {  fa[number]=find(fa[number]);       return fa[number];    }}int build(char path[],int& count){    int index;    if(maps.find(string(path))==maps.end())     {   maps[string(path)]=++count;         index=count;        fa[count]=count;     }    else index=maps[string(path)];    return index;}int main(){    int n;    int number=1;    while(scanf("%d",&n)&&n)    {   int i,p;        char starting[15],ending[15];        for(i=0;i<n;i++)          {   scanf("%d",&p); starting[i]=p+'0';        }        starting[n]=0;        for(i=0;i<n;i++)         {   scanf("%d",&p); ending[i]=p+'0';        }        ending[n]=0;        int count=0;        maps.clear();        char path[15];         while(scanf("%d",&p))        {   if(p==-1) break; int start,end; path[0]=p+'0';  for(i=1;i<n;i++) {   scanf("%d",&p);     path[i]=p+'0'; } path[n]=0; start=build(path,count);  for(i=0;i<n;i++) {   scanf("%d",&p);     path[i]=p+'0'; } path[n]=0; end=build(path,count);  int h1=find(start); int h2=find(end); if(h1!=h2) fa[h1]=h2;        }       int possible=1;       if(maps.find(string(starting))==maps.end()||maps.find(string(ending))==maps.end()) possible=0;         else       {    int start=maps[string(starting)]; int end=maps[string(ending)]; int h1=find(start); int h2=find(end); if(h1!=h2) possible=0;         }       if(possible) printf("Maze #%d can be travelledn",number++);       else printf("Maze #%d cannot be travelledn",number++);   }return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号