2019年1月29日
15:45
题目都读错了。。。
#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
typedef struct P
{
int x;
int no, ne;
}P;
struct P y;
const int maxn = 2e5 + 5;
struct P p[maxn], qq[maxn];
struct P z;
vector<P> q;
int main()
{
int x1, n, k;
while(cin >> x1 >> n>> k)
{
for(int i = 0; i < n; i++)
{
int no;
cin >> no;
cin >> p[no].x >> p[no].ne;
p[no].no = no;
}
int i = x1;
while(i != -1)
{
q.push_back(p[i]);
i = p[i].ne;
}
int t = 1;
/*for(i =k * t - 1;; i--)
{
if(i > q.size())
break;
qq.push_back(q[i]);
if(i == k * (t - 1))
{
t++;
i = k * t ;
}
}*/
for(i = 0; i <= q.size() / k * k - 1; i++)
{
qq[i / k * k + (k - 1 - i % k)] = q[i];
}
for(i = q.size() / k * k; i <q.size(); i++)
qq[i] = q[i];
for(i = 0; i < q.size() - 1; i++)
printf("%05d %d %05d\n", qq[i].no, qq[i].x, qq[i + 1].no);
printf("%05d %d -1\n", qq[i].no, qq[i].x);
}
return 0;
}
/*
00100 1 1
00100 1 -1
00100 3 1
02031 2 -1
00100 1 02031
00144 4 24155
00100 6 4
00000 4 99999
00100 1 12309
68237 6 -1
33218 3 00000
99999 5 68237
12309 2 33218
00100 6 3
00000 4 99999
00100 1 12309
68237 6 -1
33218 3 00000
99999 5 68237
12309 2 33218
*/