L2-002 链表去重(测试点1的坑)

news/2024/10/22 18:30:49/

思路: 通过map映射先将原链表处理出来,再通过判重将其分成两部分存储输出。注意测试点1有个坑点(原链表不是一条完成的链表,数据如下:)

(测试点1)输入:

00001 3

00001 1 00002

00002 2 -1

00003 3 00004 

(测试点1)输出: 

00001 1 00002
00002 2 -1

代码实现: 

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int N = 1e5+10;int n, b[N], idx, tt, val;
string head, pos, nxt;
map<int, int> vis;
map<string, int> mp;
map<string, string> np;
vector<string> a, ans1, ans2;
int a1[N], a2[N], tt1, tt2, last;//struct node{
//    int pos, val, next;
//}b[N];signed main()
{cin >> head >> n;for(int i = 1; i <= n; i ++){cin >> pos >> val >> nxt;mp[pos] = val;np[pos] = nxt;if(pos==head) idx = i;}a.push_back("0");while(tt<n){a.push_back(head);b[++tt] = mp[head];head = np[head];}for(int i = 1; i <= n; i ++){
//        cout << a[i] << " \n"[i==n];if(a[i]=="-1"){last = i-1;break;}}if(!last) last = n;  //测试点1的坑
//    cout << "last: " << last << endl;for(int i = 1; i <= last; i ++){
//        cout << b[i] << " \n"[i==n];if(!vis[abs(b[i])]){vis[abs(b[i])] = 1;ans1.push_back(a[i]);a1[tt1++] = b[i];}else{ans2.push_back(a[i]);a2[tt2++] = b[i];}}for(int i = 0; i < tt1; i ++){if(i==tt1-1) cout << ans1[i] << " " << a1[i] << " " << -1 << endl;else cout << ans1[i] << " " << a1[i] << " " << ans1[i+1] << endl;}for(int i = 0; i < tt2; i ++){if(i==tt2-1) cout << ans2[i] << " " << a2[i] << " " << -1 << endl;else cout << ans2[i] << " " << a2[i] << " " << ans2[i+1] << endl;}return 0;
}


http://www.ppmy.cn/news/152331.html

相关文章

GS1MF-ASEMI贴片整流二极管GS1MF

编辑&#xff1a;ll GS1MF-ASEMI贴片整流二极管GS1MF 型号&#xff1a;GS1MF 品牌&#xff1a;ASEMI 封装&#xff1a;SMA 特性&#xff1a;整流二极管 正向电流&#xff1a;1A 反向耐压&#xff1a;1000V 恢复时间&#xff1a;50~100ns 引脚数量&#xff1a;2 芯片个…

坑爹的原道N90 高清视频解码

http://bbs.imp3.net/forum.php?modviewthread&tid10553740&reltid636050&pre_pos8&ext 坑爹的原道N90 高清视频解码&#xff01; 前几天买了原道的N90&#xff0c;就是冲着他的高清解码能力去的&#xff0c;结果1080i TS格式 300多MB的文件播放音画严重不…

原道M10拆机

原道M10拆机 由于自己的平板喇叭有杂音。 在网上一直没有该款的拆机教程&#xff0c;于是就自己探索吧&#xff01; 1.首先是拆机&#xff1a;原道M10在电源按键的一侧有两个螺丝。将这两个螺丝取消&#xff0c;然后把后壳给卸掉&#xff0c;这也是最麻烦的一不&#xff0c;研究…

立创开源丨TDA1521/TDA2616_双声道HIFi功率放大器

当数字功放芯片如潮水一般铺天盖地时&#xff0c;追求音质的我还是更喜欢用模拟功放芯片&#xff0c;特别推荐90年代产的一款飞利浦HiFi芯片TDA1521/TDA2616&#xff0c;该芯片发热低&#xff0c;音质好&#xff0c;20多年了仍然热销不衰&#xff0c;用来制作桌面功放那是非常棒…

L2-022 重排链表(模拟+静态链表)

题目链接:L2-022 重排链表考查知识:模拟+静态链表题意描述: 将原来的链表结点按照最右结点,最左节点,最右结点,最左节点,…,的顺序重新排列思路简析: 先遍历一遍链表,去掉不与链表联通的结点,保存联通结点地址设置双指针l指向最左端结点地址,r指向最右端结点地址;…

全志D1-H哪吒开发板支持nfs

配置内核 (如果该terminal编译过SDK&#xff0c;下面两步可以省略) source build/envsetup.sh lunch d1_nezha-tinacroot make kernel_menuconfig选择File System 选择Network File System&#xff0c;并作如下配置 重新编译内核 make -j4 pack挂载文件系统 查看支持的文…

[数据挖掘01] pandas数据对象功能大全

目录 一、说明 二、Series 容器 三、属性轴 四、数据转换 五、索引、迭代 六、二元运算符函数 七、窗口函数、分组函数&#xff08; GroupBy & window &#xff09; 八、计算/描述性统计 九、重建索引/选择/标签操作 十、缺失数据处理 十一、重定型、排序 十二…

青龙面板 口味王

请先获取微信小程序[口味王] 环境变量添加 KWW_COOKIE 环境变量用软件在电脑中获取&#xff08;打开电脑微信 小程序 软件自动获取&#xff09; 软件和脚本下载&#xff1a;https://wwm.lanzouy.com/iHWhP0gnxhxi 密码:e4c2 定时任务新建&#xff1a;task jd_kww.py 脚…