#include <bits/stdc++.h>
using namespace std;
bool st[100010];
int main() {
ios::sync_with_stdio(false); cin.tie(0);
string init;
int n;
cin >> init >> n;
map<string, pair<int, string>> link;
vector<tuple<string, int, string>> all;
for (int i = 0; i < n; i++) {
string address, ne;
int val;
cin >> address >> val >> ne;
link[address] = {val, ne};
}
string curadd = init;
while (true) {
all.push_back({curadd, link[curadd].first, link[curadd].second});
if (link[curadd].second == "-1") break;
curadd = link[curadd].second;
}
vector<tuple<string, int, string>> del;
vector<tuple<string, int, string>> after;
for (int i = 0; i < all.size(); i++) {
string add = get<0>(all[i]), ne = get<2>(all[i]);
int val = get<1>(all[i]);
if (st[abs(val)]) {
del.push_back({add, val, ne});
} else {
st[abs(val)] = true;
after.push_back({add, val, ne});
}
}
for (int i = 0; i < after.size(); i++) {
string add = get<0>(after[i]), ne = get<2>(after[i]);
int val = get<1>(after[i]);
if (i == after.size() - 1) {
after[i] = {add, val, "-1"};
} else {
if (ne != get<0>(after[i + 1])) {
after[i] = {add, val, get<0>(after[i + 1])};
}
}
}
for (int i = 0; i < del.size(); i++) {
string add = get<0>(del[i]), ne = get<2>(del[i]);
int val = get<1>(del[i]);
if (i == del.size() - 1) {
del[i] = {add, val, "-1"};
} else {
if (ne != get<0>(del[i + 1])) {
del[i] = {add, val, get<0>(del[i + 1])};
}
}
}
for (int i = 0; i < after.size(); i++) {
string add = get<0>(after[i]), ne = get<2>(after[i]);
int val = get<1>(after[i]);
cout << add << " " << val << " " << ne << "\n";
}
for (int i = 0; i < del.size(); i++) {
string add = get<0>(del[i]), ne = get<2>(del[i]);
int val = get<1>(del[i]);
cout << add << " " << val << " " << ne << "\n"[i == del.size() - 1];
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-03-14 多数元素 (3.12 leetcode每日打卡)
2020-03-14 (Good topic)回文数(3.13 leetcode每日打卡)
2020-03-14 (Good topic)贪心+二分查找:最长上升子序列(3.14 leetcode每日打卡)
2020-03-14 递归与分治思想:八皇后问题 (在此用递归) (回溯算法的典型题)
2020-03-14 递归与分治思想:汉诺塔(递归 && 分治思想)
2020-03-14 递归与分治思想:治思想 && 折半查找法(迭代 && 递归)
2020-03-14 递归与分治思想:n的阶乘 && 逆序任意长度字符串(递归)