题目链接: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. css3 animation(左右摆动) (放大缩小)
  2. 图解VC++绘制数学曲线
  3. 【完整代码】Scala AKKA实现两个Actor之间的通信代码示例
  4. visual studio toolbox 修复
  5. 擦窗机器人测试标准_擦窗机器人,我选择玻妞的三个理由!
  6. NoSuchElementException
  7. my footprint :走过的路
  8. php能实现前台的页面吗,thinkphp 能实现前台后台登录吗?
  9. Android 自定义View(一)常用属性
  10. 38. Model has-a or is-implemented-in-terms-of through composition
  11. Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
  12. VI编辑器将//替换为#
  13. 简单的java游戏编程代码_java游戏编程(1)线程
  14. 华为推送服务(Push)
  15. 企业微信发送、撤回消息 java代码
  16. ESP8266-Arduino编程实例-LIS3MDL磁场传感器驱动
  17. 怎样做一个iOS App的启动分层引导动画
  18. 因你而变——JIRA使用心得
  19. Java添加过滤器过滤xss入侵
  20. mysql自然连接的例题详解_基于 MySQL 的数据库实践(自然连接)

热门文章

  1. ActiveXObject函数详解
  2. 使用TensorFlow的基本步骤
  3. 同样是程序员,优秀的程序员能够月入5万甚至50万!,一般的程序员却只能月入5千甚至更低?那么他们差别在哪里呢?
  4. toad mysql导入excel_Oracle 使用TOAD实现导入导出Excel数据
  5. matlab考试资料,MATLAB复习资料
  6. 弹跳机器人 桌游_有哪些适合 10-15 人的桌游值得推荐?
  7. oracle 树状结构一直出现不了_SEO站内优化:网站结构优化(十一)
  8. ios yymodel 将字典转数组模型_Python3 字典
  9. 根据二叉树写遍历序列
  10. hashmap为什么容量是2的n次方