瑞神要考研(山东科技大学第四届ACM校赛)
问题 C: 瑞神要考研
时间限制: 1 Sec 内存限制: 128 MB
提交: 173 解决: 30
[提交][状态][讨论版]
题目描述
有一天,瑞神找了好多条链表来辅助自己复习,但是他在复习的过程中一不小心把链表掉在了地上,捡起来的时候链表以及断成了好多个结点,每个结点只保留了当前结点的地址、结点的值和下一个结点的地址。瑞神看着这些结点浑身难受无法复习,为了让瑞神继续复(zhuang)习(bi)下去,请你帮瑞神把链表复原。
输入
接下来n行每行给出一个结点的信息:结点地址、值和下一个结点的地址。
地址为5位数字,-1表示地址为NULL。
保证每一条链表的最后一个结点的下一个结点地址为-1。
输出
多条链表按照首结点地址从小到大排序。
样例输入
<span style="background-color:#ccccff">3</span>
<span style="background-color:#ccccff">00322 155 -1</span>
<span style="background-color:#ccccff">00322 87 00323</span>
<span style="background-color:#ccccff">00233 1 -1</span>
样例输出
1
87 155
提示
#include<iostream>
#include<cstring>using namespace std;
const int maxn=1e5+5;
int _next[maxn];
int vis[maxn];
int val[maxn];
int in_degree[maxn];
int n,fr,to,va;int main()
{ios::sync_with_stdio(false);cin>>n;memset(in_degree,0,sizeof(in_degree));memset(_next,0,sizeof(_next));for(int i=0;i<n;i++){cin>>fr>>va>>to;_next[fr]=to;val[fr]=va;vis[fr]=1;if(to!=-1)in_degree[to]++;}for(int i=0;i<maxn;i++){if(vis[i]&&in_degree[i]==0){cout<<val[i];int temp=_next[i];while(temp!=-1){cout<<' '<<val[temp];temp=_next[temp];}cout<<endl;}}return 0;
}
另附上比赛时的TLE代码:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1e5+5;struct edges{
int fr,to,vis,val;
}edge[maxn];int ans[maxn];
int pre,beh,wei;
int top;
int n;
bool cmp(edges a,edges b)
{return a.fr<b.fr;
}void dfs(int u)
{for(int i=0;i<n;i++){if(edge[i].vis==0&&edge[i].fr==u){edge[i].vis=1;if(edge[i].to!=-1){dfs(edge[i].to);ans[top++]=edge[i].val;}else {ans[top++]=edge[i].val;return ;}}}
}
int main()
{scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d%d",&edge[i].fr,&edge[i].val,&edge[i].to);edge[i].vis=0;}sort(edge,edge+n,cmp);for(int i=0;i<n;i++){top=0;memset(ans,0,sizeof(ans));if(edge[i].vis==0){dfs(edge[i].fr);for(int j=top-1;j>=0;j--){if(j!=0)printf("%d ",ans[j]);else printf("%d\n",ans[j]);}}}return 0;
}
瑞神要考研(山东科技大学第四届ACM校赛)相关推荐
- 817计算机考研,2020考研山东科技大学817数据结构与操作系统试卷特点分析
2020考研初试已正式结束,初试后为大家整理发布"2020考研山东科技大学817数据结构与操作系统试卷特点分析"考研试题内容,中公考研各科研究院老师将对2020考研试题进行试题变化 ...
- 一个彻彻底底的水军的ACM校赛感悟~~~
2017年4月23日刚刚结束了ACM校赛.作为一名不是ACM队的水军来说,抱着必突突突的决心,参加了这次的比赛.经过五个小时的激烈角逐,我们队伍还参加了一场和我们没有什么关系的颁奖典礼. 我是一个编程 ...
- 2014湖南农业大学ACM校赛
湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23 星期日 12:30-17:30 A.搜素 1794.查找指定的字符串 B.链表 1795 ...
- 广东工业大学acm校赛总结(基础差的人的自我觉悟)
2022.03.27 广东工业大学acm校赛总结: 实话说,这次校赛表现非常不好,B题的钩子就差一点点,分块了,也知道%k也知道分奇数偶数,就是最后差一个特判不知道怎么解决,寥寥草草一个三等奖,练了这 ...
- 第一次ACM校赛_记录
[2021-10-24]第一次ACM校赛 一.报名 1.去年比赛 2.流程 二.准备 1.核心代码模式和ACM代码模式 1.1核心代码模式 1.2 ACM代码模式 2.往年题目 3.机房环境 3.1语 ...
- 记第七届ACM校赛-回忆
这一次校赛其实是两个月半之前的事情了---4月29日.那天比赛完之后,自己就想当天写写这一次比赛的事,但是由于那天比赛完之后又马上又赶回家,5个小时的比赛加上2个小时的车程,整个人都觉得很累,所以那天 ...
- 大连海事大学ACM校赛题解
大连海事大学ACM校赛题解 感谢xzx对题目的排版~ 作为出题人之一,我先简单说一下我认为的题目难度. 我觉着第一档比较容易的签到题是L.J.M,L就是向下取整的签到:J是简单思维.构造题,到了6以后 ...
- 山东科技大学第二届ACM校赛解题报告
这次校赛的目的,是为了省赛测试各种程序是否有问题. 热身赛的逗比题有点打击我,感觉正式赛应该不会出这种问题.开始的时候直接上了A题,然后大概是第六,前面好多友情队,正式队排名第二. 然后读了读B题,稍 ...
- 2014哈商大ICPC/ACM校赛解题报告
被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数 ...
最新文章
- Spring Boot 2.X 对 web 的开发支持(二)
- LSTM CNN GRU DGA比较
- tox.ConfigError: ConfigError: substitution key 'posargs' not found
- redis4.0之基于LFU的热点key发现机制
- 【IM】关于监督降维的理解
- 循环码差错图样matlab,基于MATLAB的(15,7)循环码的编译仿真.doc
- 如何在 ASP.NET Core 中使用 LazyCache
- 从串行线程封闭到对象池、线程池
- 终于有人把安卓程序员必学知识点全整理出来了,送大厂面经一份!
- Apache JMeter 背景颜色修改
- 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题
- Oracle数据库异常---OracleDBConsoleorcl无法启动
- 在使用Navicat for MySQL 出现 异常“You have an error in your SQL syntax......“
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_1 RequestParam注解
- reg 正则表达式^
- Java实现手机号邮箱号登录_手机号、邮箱或者用户名登录的实现方法
- 克服J2SE 1.3-1.4 的不兼容性
- zabbix纯内网环境监控服务器发送邮件报警
- 2013年 雷诺 Renault Zoe | 警告信息 “停车: 电力故障危险”
- CSS Core CSS hack CSS优化