CF 756A

n 条旅行路线

自己的机场  也就是起点

然后线

肯定是从起点开始

但是样例不一定第一个就是起点

所有要找一下

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<set>
#include<string>

using namespace std;
typedef long long LL;

#define MAXN 100010

char name[5];
char s[105][15];
bool vis[MAXN];

int main()
{
    int n;
    scanf("%d",&n);
    scanf("%s",name);
    for(int i=1;i<=n;i++)
        scanf("%s",s[i]);
    int st=0;
    for(int i=1;i<=n;i++)//找一个起点
        if(name[0]==s[i][0]&&name[1]==s[i][1]&&name[2]==s[i][2])
        {
            st=i;
            vis[i]=1;
            break;
        }
    int cnt=0;
    while(1)
    {

        for(int i=1;i<=n;i++)
        {
            if(vis[i]==0&&s[i][0]==s[st][5]&&s[i][1]==s[st][6]&&s[i][2]==s[st][7])
            {
                st=i;
                vis[i]=1;
                break;
            }
        }
        int ok=0;
        for(int i=1;i<=n;i++)  //判断到过所有点
            if(vis[i]==0)
                ok=1;
        if(ok==0)
            break;
        cnt++;
        if(cnt>10000)//走不出来
            break;
    }
    if(s[st][5]==name[0]&&s[st][6]==name[1]&&s[st][7]==name[2])//回到起点
        printf("home\n");
    else
        printf("contest\n");
    return 0;
}

 

posted on 2017-02-19 22:03  HelloWorld!--By-MJY  阅读(191)  评论(0编辑  收藏  举报

导航