l2-002 链表去重 (未解决)
L2-002. 链表去重
给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留。同时,所有被删除的结点必须被保存在另外一个链表中。例如:另L为21→-15→-15→-7→15,则你必须输出去重后的链表21→-15→-7、以及被删除的链表-15→15。
输入格式:
输入第一行包含链表第一个结点的地址、以及结点个数N(<= 105 的正整数)。结点地址是一个非负的5位整数,NULL指针用-1表示。
随后N行,每行按下列格式给出一个结点的信息:
Address Key Next
其中Address是结点的地址,Key是绝对值不超过104的整数,Next是下一个结点的地址。
输出格式:
首先输出去重后的链表,然后输出被删除结点组成的链表。每个结点占一行,按输入的格式输出。
输入样例:
00100 5
99999 -7 87654
23854 -15 00000
87654 15 -1
00000 -15 99999
00100 21 23854
输出样例:
00100 21 23854
23854 -15 99999
99999 -7 -1
00000 -15 87654
87654 15 -1
这题一直有个样例过不了,试了各种数据,都没找出来,对照别人的博客,感觉自己逻辑也没错。
先存着。
附未解决代码:
1 #include <cstdio>
2 #include <cstring>
3 #include <cmath>
4 #include <iostream>
5 #include <algorithm>
6 #include <string>
7 #include <map>
8 #include <vector>
9 using namespace std;
10 typedef long long ll;
11 const int maxn = 1e5+10;
12 const int inf = 0x3f3f3f3f;
13 map<int,int>mp;//绝对值是否存在
14 map<int,int>add;//地址 Key
15 int pre[maxn];
16 int nex[maxn];
17 int nu[maxn];
18 int main()
19 {
20 int bg,n;
21 scanf("%d%d",&bg,&n);
22 int a,b,c;
23 pre[bg]=bg;
24 for(int i=0;i<n;++i)
25 {
26 scanf("%d%d%d",&a,&b,&c);
27 add[a]=b;
28 nex[a]=c;
29 pre[c]=a;
30 }
31 int p=bg;
32 int len=0;
33 while(p!=-1)
34 {
35 if(mp[ abs(add[p])] )
36 {
37 nex[pre[p]]=nex[p];
38 pre[nex[p]]=pre[p];
39 nu[len++]=p;
40 }
41 mp[ abs(add[p])] =1;
42 p=nex[p];
43 }
44 while(bg!=-1)
45 {
46 if(nex[bg]!=-1)
47 printf("%05d %d %05d\n",bg,add[bg],nex[bg]);
48 else
49 printf("%05d %d -1\n",bg,add[bg]);
50 bg=nex[bg];
51 }
52 for(int i=0;i<len-1;++i)
53 printf("%05d %d %05d\n",nu[i],add[nu[i]],nu[i+1]);
54 if(len>0)
55 printf("%05d %d -1\n",nu[len-1],add[nu[len-1]]);
56
57 return 0;
58 }
l2-002 链表去重 (未解决)的更多相关文章
- 天梯 L2 链表去重
L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另一 ...
- PTA L2-002 链表去重 团体程序设计天梯赛-练习集
L2-002 链表去重(25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另 ...
- C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...
- 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现
几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
原因:Jetty会导致这个问题,Tomcat可以正常启动 一.异常产生现象 使用json-lib转换实体类/字符串,跑单元测试没问题,但是启动jetty后调用JSONArray.fromObjec ...
- Ajax返回中文乱码问题(未解决)
(未解决) 暂时使用办法:改用返回Map<String,String>形式的返回值,在ajax中获取json形式的数据.
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...
- 团体程序设计天梯赛-练习集L2-002. 链表去重
L2-002. 链表去重 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个带整数键值的单链表L,本题要求你编写程序,删除 ...
- oracle,wamp,FZ突然出现问题,求解决方案(未解决,最终系统还原)
-----背景------- 系统:win7 64位oracle 11g(11.1)每天都用oracle.用toad for oracle .电脑固定IP.未更改任何配置信息.用了几个月,突然出现了 ...
随机推荐
- 【Python】中国有哪些同名的省市县?
这道题适合写个脚本来解. 首先从百度地图API下载一份行政区划数据. 开发资源 | 百度地图API SDK 然后做一个简单的数据统计就可以啦~ 行政区划同一级同名的: import pandas as ...
- FLask之视图
视图 1 FBV def index(): return render_template('index.html') app.add_url_rule('/index', 'index', index ...
- Kubernetes之GlusterFS集群文件系统高可用安装,提供动态卷存储
GlusterFS高可用安装 一. 准备工作 安装好的k8s集群,提供其中三个节点给GFS,这三个节点都至少有一个可用的裸块设备 在k8s所有节点安装所需要的组件 # ubuntu16.04 add- ...
- Scrapy——將爬取圖片下載到本地
1. Spider程序: 1 import scrapy, json 2 from UnsplashImageSpider.items import ImageItem 3 4 class Unspl ...
- ADB 基本命令
ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...
- CentOS 7.2系统安装步骤
CentOS 7.2系统安装步骤 1.把系统U盘插到服务器上,然后启动服务器进入BIOS界面选择U盘启动. 根据服务器的不同,进入BIOS界面的按钮也不一样,主流的有F10.F11.F12.F2.ES ...
- What is the difference between Serialization and Marshaling?
How to serialize and deserialize JSON using C# - .NET | Microsoft Docs https://docs.microsoft.com/en ...
- How Interfaces Work in Go
research!rsc: Go Data Structures: Interfaces https://research.swtch.com/interfaces How Interfaces Wo ...
- PyPy CPython C++ connects programs written in C and C++ with a variety of high-level programming languages
PyPy 为什么会比 CPython 还要快? - 知乎 https://www.zhihu.com/question/19588346/answer/131977984 有个名词在现有的回答下面都没 ...
- Wireshark抓包参数
目录 wireshark 抓包过滤器 一.抓包过滤器 二.显示过滤器 整理自陈鑫杰老师的wireshark教程课 wireshark 抓包过滤器 过滤器分为抓包过滤器和显示过滤器,抓包过滤器会将不满足 ...