A1032 Sharing (25分)

一、技术总结

  1. 这个是关于链表的,对于一些不是很大的可以使用静态链表,就是通过定义结构体,然后用数组表示
  2. 这里还有一点需要注意的是这里通过对于一个链表的用标志位,如果出现的使用true,然后对于另一条也是通过遍历,但是可以减少一个复杂化度。
  3. 对于输出要求有格式要求也要注意。
  4. scanf可以输入空格,所以在输入时,注意要使用空格分开。

二、参考代码

#include<cstdio>
using namespace std;
struct Node{
	int next;
	char data;
	bool flag;
}node[100000];
int main(){
	int s1, s2,a, b, num;
	scanf("%d%d%d", &s1, &s2, &num);
	for(int i = 0; i < num; i++){
		char c;
		scanf("%d %c %d", &a, &c, &b);
		node[a] = {b, c, false};
	} 
	for(int i = s1; i != -1; i = node[i].next){
		node[i].flag = true;
	}
	for(int i = s2; i != -1; i = node[i].next){
		if(node[i].flag == true){
			printf("%05d", i);
			return 0;
		}
	}
	printf("-1");
	return 0;
}
posted @ 2020-02-02 23:17  睿晞  阅读(93)  评论(0编辑  收藏  举报