题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805072641245184

第一次做链表题,有时间多看看

解释的话直接看这篇题解:https://www.liuchuo.net/archives/2125

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int inf=1<<30;
 4 typedef long long ll;
 5 typedef pair<int,int> P;
 6 const double pi=acos(-1);
 7 const int mod=1e8+7;
 8 const int maxn=1e5+7;
 9 const int maxm=6300;
10 struct node{
11     int adress,val,next,num;
12 }a[maxn];
13 bool exist[maxn];
14 int cnt,cnt1,cnt2;
15 bool cmp(const node &a,const node &b){
16     return a.num<b.num;
17 }
18 int main(){
19     int begin,n;scanf("%d%d",&begin,&n);
20     for(int i=0;i<maxn;i++){
21         a[i].num=2*maxn;
22     }
23     for(int i=0;i<n;i++){
24         int x,y,z;scanf("%d",&x);
25         a[x].adress=x;
26         scanf("%d%d",&a[x].val,&a[x].next);
27     }
28     for(int i=begin;i!=-1;i=a[i].next){
29         if(!exist[abs(a[i].val)]){
30             exist[abs(a[i].val)]=1;
31             a[i].num=cnt1;
32             cnt1++;
33         }
34         else{
35             a[i].num=cnt2+maxn;
36             cnt2++;
37         }
38     }
39     cnt=cnt1+cnt2;
40     sort(a,a+maxn,cmp);
41     for(int i=0;i<cnt;i++){
42         if(i==cnt1-1||i==cnt-1) printf("%05d %d -1\n",a[i].adress,a[i].val);
43         else printf("%05d %d %05d\n",a[i].adress,a[i].val,a[i+1].adress);
44     }
45     return 0;
46 }

转载于:https://www.cnblogs.com/qingjiuling/p/10475917.html

PTA L2-002 链表去重相关推荐

  1. 【CCCC】L2-002 链表去重 (25分),,把一个链表拆成两个

    problem L2-002 链表去重 (25分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点 ...

  2. 【区块反转】【链表合并】【反转链表】【链表元素分类】【链表去重】【重排链表】

    目录 说明: 1110 区块反转 输入格式: 输出格式: 输入样例: 输出样例: 1105 链表合并 输入格式: 输出格式: 输入样例: 输出样例: 1025 反转链表 输入格式: 输出格式: 输入样 ...

  3. PTA L2 题目合集

    L2-001 紧急救援 (25 分) 题解链接 L2-002 链表去重 (25 分) #include<bits/stdc++.h> #define PIS pair <int, s ...

  4. L2-002. 链表去重

    L2-002. 链表去重 题目链接:https://www.patest.cn/contests/gplt/L2-002 代码如下: 1 #include<cstdio> 2 #inclu ...

  5. Algorithm:C++语言实现之链表相关算法(链表相加、链表的部分翻转、链表划分、链表去重、重复元素全部删除)

    Algorithm:C++语言实现之链表相关算法(链表相加.链表的部分翻转.链表划分.链表去重.重复元素全部删除) 目录 一.链表 1.1.链表相加 1.2.链表相加 2.1.链表的部分翻转 2.2. ...

  6. L2-002 链表去重-团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-002 链表去重 题目大意 将链表数据域的值相同(包含绝对值相同)的节点去掉,然后将去掉的节点又重新组成一条链表,最后输出去重后的链表和被去掉的节 ...

  7. L2-002 链表去重 (25 分) 船新方法

    L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另一 ...

  8. l2-002 链表去重 (未解决)

    L2-002. 链表去重 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个带整数键值的单链表L,本题要求你编写程序,删除 ...

  9. 7-93 链表去重 (25 分)

    7-93 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另一个链 ...

  10. L2-002 链表去重(链表+模拟)

    题目链接 https://pintia.cn/problem-sets/994805046380707840/problems/994805072641245184 视频讲解 https://www. ...

最新文章

  1. ubuntu报错解决:The following packages have unmet dependencies:
  2. 类的属性、类的方法、类的内置方法
  3. C# DirectX编程设置全屏和PresentParameters参数
  4. SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
  5. 有线同步--ASP007
  6. Python之路【第一篇】:环境搭建
  7. 游族网络回应被新浪财团收购:有相关计划 但对方身份尚不知情
  8. 最新亲测可用的免费google翻译api
  9. Tapestry5的喜爱.
  10. 获取元素属性(offsetHeight、clientHeight...)无效
  11. vue高德地图H5定位及城市选择器控件实现详细教程
  12. 做硬件真的没有前途吗?看看资深工程师是怎么说的
  13. hive删除EXTERNAL外表
  14. 申请Teambition国际版并部署列表目录程序教程
  15. vue结合elementUI,MinUi
  16. 从本地管理员到域管理员提权
  17. 中公教育计算机老师笔试面试题,2020下高中信息技术教师资格证面试试题及答案【1月9日下午】...
  18. 极速办公(word)如何添加文字水印
  19. wordpress中解决页面未找到的问题
  20. Win11怎么打开AMD显卡控制面板

热门文章

  1. Linux 查看软件位置的命令
  2. 妙用Telnet快速收发电子邮件(转载)
  3. Network simulation using OPNET
  4. Win2003下Asp配置技巧 http 500内部服务器错误
  5. 使用c#调用API函数CreateProcess来运行外部程序
  6. 非静态内部类中为什么不能拥有静态成员?
  7. LeetCode 141. 环形链表 简单难度
  8. pythonset操作教程_Python集合(set)方式和使用方法
  9. 005_logback介绍
  10. jenkins详细设置(二)