7.3 1032 Sharing (25 分) (***)

#include <iostream>
#include <cstdio>
#include <map>
#include <string>
#include <stack>
#include <queue>

using namespace std;
int p,g,order[1010];

struct Node
{
    int data;
    int next;
    bool flag;
}node[100010];

int main()
{
//    freopen("in.txt","r",stdin);
    int s1,s2,n;
    scanf("%d%d%d",&s1,&s2,&n);
    for(int i = 0;i<n;i++)
    {
        int p1,p2;
        char l;
        scanf("%d %c %d",&p1,&l,&p2);
        node[p1].data = l;
        node[p1].next = p2;
        node[p1].flag = false;
    }
    while(s1!=-1)
    {
        node[s1].flag = true;
        s1 = node[s1].next;
    }
    int ans = -1;
    while(s2!=-1)
    {
        if(node[s2].flag == true)
        {
            ans = s2;
            break;
        }
        s2 = node[s2].next;
    }
    if(ans == -1)
        printf("-1");
    else
        printf("%05d",ans);
//    fclose(stdin);
}

发布了111 篇原创文章 · 获赞 4 · 访问量 3230

猜你喜欢

转载自blog.csdn.net/qq_15556537/article/details/99186773