CF874A 题解
原题目链接:Luogu & CodeForces
题目大意
给出一些双向链表,让你将这些链表连成一条。
我们只需要一个变量
AC Code:
#include <iostream>
#include <cstdio>
using namespace std;
int l[103],r[103];
int main(){
int n;
scanf("%d",&n);
int nxt = 0; // 后继初始值为0
for(int i = 1; i <= n; ++i)
scanf("%d%d",&l[i],&r[i]); //input
for(int i = 1; i <= n; ++i){
if(l[i] == 0){ //找到
r[nxt] = i;
l[i] = nxt;
nxt = i;
while(r[nxt]){ // 寻找下一个nxt
nxt = r[nxt];
}
}
}
for(int i = 1; i <= n; ++i)
printf("%d %d\n",l[i],r[i]); //output
return 0;
}
AC记录