谍影寻踪

题目描述

 

2020年10月,国家安全机关组织实施“迅雷-2020”专项行动,破获数百起间谍窃密事件,有效维护了国家安全和利益。在行动中,我方安全机关破获了一个情报组织,他们是单线联系的。我方给情报组织中的每个人员一个唯一的代号。同时,情报人员为了隐秘,可能会有不同的姓名编号(设定最多两个姓名编号)。我方顺藤摸瓜,分别截获并返回组织信息。请你帮忙汇总并恢复这条组织链条。

输入

 

多组样例。每组样例包括多行输入,第一行包含一个正整数n(0<n≤1000),表示截获到的情报数。接下来的n行输入形式为A->B,表示A单向联系B,B是A的下线。A和B表示两名组织人员的信息,包括代号x和姓名编号y,用逗号“,”分开。代号x和姓名编号y为整数,满足1≤x,y≤999999。除了第一行,A或B的代号信息在之前的行中出现过。

输出

 

对于每一组样例,按照顺序在一行中输出该组织的所有成员的信息,用“->”间隔。每个输出占一行。如果有一个代号有两个姓名编号,则认为是一个成员,输出代号和对应的两个姓名编号,用“#”分开。如有两个信息1,2345和1,6666,输出时对应一个成员信息1,2345#6666,两个姓名编号先输入的在前面。

样例输入 Copy

3
1,1234->5,2236
5,2236->3,7177 
7,3234->1,1234
4
1,258->10,111111
5,4353->1,36900 
7,22->5,4353
10,159->20,220102
2
1,111->2,222
1,101->2,202

样例输出 Copy

7,3234->1,1234->5,2236->3,7177 
7,22->5,4353->1,258#36900->10,111111#159->20,220102
1,111#101->2,222#202
 1 #include <stdio.h>
 2 //链表
 3 struct people{
 4     int id,lid,nid;
 5     int sname[2];
 6 };
7 int main(){ 8 int n; 9 while(scanf("%d",&n)!=EOF){ 10 struct people p[100000]={0,0,0,{0,0}}; 11 while(n--){ 12 int x1,y1,x2,y2; 13 scanf("%d,%d->%d,%d",&x1,&y1,&x2,&y2); 14 p[x1].id=x1; 15 p[x2].id=x2; 16 if(p[x1].sname[0]!=0&&p[x1].sname[0]!=y1) p[x1].sname[1]=y1; 17 else p[x1].sname[0]=y1; 18 if(p[x2].sname[0]!=0&&p[x2].sname[0]!=y2) p[x2].sname[1]=y2; 19 else p[x2].sname[0]=y2; 20 p[x2].lid=p[x1].id; 21 p[x1].nid=p[x2].id; 22 } 23 for(int i=1;i<100000;i++){ 24 if(p[i].id!=0&&p[i].lid==0){ 25 if(p[i].sname[1]==0){ 26 printf("%d,%d->",p[i].id,p[i].sname[0]); 27 } 28 else{ 29 printf("%d,%d#%d->",p[i].id,p[i].sname[0],p[i].sname[1]); 30 } 31 int temp =p[i].nid; 32 while(p[temp].nid!=0){ 33 if(p[temp].sname[1]==0){ 34 printf("%d,%d->",p[temp].id,p[temp].sname[0]); 35 } 36 else{ 37 printf("%d,%d#%d->",p[temp].id,p[temp].sname[0],p[temp].sname[1]); 38 } 39 temp=p[temp].nid; 40 } 41 if(p[temp].sname[1]==0){ 42 printf("%d,%d\n",p[temp].id,p[temp].sname[0]); 43 } 44 else{ 45 printf("%d,%d#%d\n",p[temp].id,p[temp].sname[0],p[temp].sname[1]); 46 } 47 break; 48 } 49 } 50 } 51 return 0; 52 }

 

posted on 2022-12-12 15:54  messing  阅读(43)  评论(0)    收藏  举报

导航