【Basic Level】
*1025 printf("%05d",) 地址不会重复
int main()
{
int s, n, k;
cin >> s >> n >> k;
int a[100000], b[100000], c[100000];
for (int i = 0; i < n; ++i)
{
int address = 0, data = 0, next = 0;
cin >> address >> data >> next;
a[address] = data;
b[address] = next;
}
int x = s;
int h = 0;
while (x != -1)
{
c[h++] = x;
x = b[x];
}
for (int i = 0; i < h - h % k; i+=k)
{
reverse(begin(c) + i, begin(c) + i + k);
}
for (int i = 0; i < h - 1; ++i)
{
printf("%05d %d %05d\n", c[i], a[c[i]], c[i+1]);
}
printf("%05d %d %d\n", c[h -1], a[c[h - 1]], -1);
system("pause");
return 0;
}