pat1032

来源:互联网 发布:天猫购物券淘宝能用吗 编辑:程序博客网 时间:2024/05/21 00:46

一开始不知道scanf(“%d”,&a)读带有前导零的可以将前面的0自动滤去,而且也不知道printf(“%05d”)的含义,表示的是以五个字符的格式输出,不足5个的用0补充。开始用的是map做的,结果最后一个测试样例超时。其实这样构造的是一个静态链表。

#include<stdio.h>#include<stdlib.h>#include<string.h>struct Node{    int next;    char ch;};Node node[100005];int vis[100005];int main(){    int start1,start2,N,a,b;    char c;    scanf("%d%d%d",&start1,&start2,&N);    memset(vis,0,sizeof(vis));    for(int i=0;i<N;i++){        scanf("%d %c %d",&a,&c,&b);        node[a].ch=c;        node[a].next=b;    }    while(start1!=-1){        vis[start1]=1;        start1=node[start1].next;    }    bool flag=false;    int ans;    while(start2!=-1){        if(vis[start2]==1){            flag=true;            ans=start2;            break;        }        start2=node[start2].next;    }    if(flag)        printf("%05d\n",ans);    else        printf("-1\n");    //system("pause");    return 0;}


原创粉丝点击