时空限制:1S64MB问题描述:为了加强保密我们不能再使用一整串联系序列了!现在我们使用一个多组单线联系的关系来构造整个联系表。构造方法如下。先将 1 号特工安排进联系表这时表中只有他一个人;2−N 号特工依次加入联系表代号为 i 的特工联系方式为:指定代号为 i 的特工是代号为 1∼i−1 中某位特工即之前已经在联系表的特工的上级或下级;在所有特工的联系关系按照上述方法建立完毕后就形成了新的联系
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> contacts(N);
contacts[0] = 1;
for (int i = 1; i < N; i++) {
int k, p;
cin >> k >> p;
if (p == 0) {
contacts[i] = contacts[k-1];
contacts[k-1] = i+1;
} else {
contacts[i] = i+1;
}
}
for (int i = 0; i < N; i++) {
cout << contacts[i] << " ";
}
return 0;
}
使用C++编写了以上代码,实现了根据联系关系构造联系表的功能。首先读入N表示特工的数量,然后使用vector
原文地址: https://www.cveoy.top/t/topic/hV0i 著作权归作者所有。请勿转载和采集!