PAT a1133

antiSMASH安装与使用 antiSMASH本地安装 简要: antiSMASH的本地安装需要安装很多的依赖包,本文章使用conda辅助安装 参考: 官方:https://docs.antismash.secondarymetabolites.org/install/ 文章:http://blog.sciencenet.cn/blog-3416913-1240614.html 依赖包下载 conda install -y diamond=0.8.36 conda install -y fasttree=2.1.9 conda ins 阅读详情

目的:按照要求分类,然后重新排序。类里面顺序不变。

输入:

第一行  第一个节点的地址

N  <=100000  节点数目

K   <=1000   第二类元素的分界线[0,K]

节点的地址是一个5位的非负整数,NULL被表示为-1

节点格式:

地址  数据  下一个

地址是节点的位置,数据是节点的值[-100000,100000],

下一个是下一个节点的位置

输出:

输出要求的顺序。每个节点一行,按照输入的格式。

算法:

用数组存结构体节点,里面有本来的顺序,再将结构体分类。

然后再排序输出。

#include<cstdio>
#include<algorithm>
#include<vector>
#include<unordered_map>

using namespace std;

const int maxn = 100010;

struct node{
    int ad;
    int val;
    int tag;
    int next;
    int r;
};

int N,K,root;
vector<node> A,B;
unordered_map<int,int> m;

bool cmp(node a,node b)
{
    if(a.tag!=b.tag)
        return a.tag>b.tag;
    else
        return a.r<b.r;
}

int main()
{
    scanf("%d%d%d",&root,&N,&K);

    for(int i=0;i<N;i++)
    {
        int ad,data,next;
        scanf("%d%d%d",&ad,&data,&next);
        m[ad] = i;
        A.push_back(node{ad,data,0,next,0});
        if(data<0)
        {
            A[i].tag = 3;
        }else if(data<=K&&data>=0)
        {
            A[i].tag = 2;
        }else if(data>K)
        {
            A[i].tag = 1;
        }
    }
    int cnt = 0;
    while(root!=-1)
    {
        int u = m[root];
        A[u].r = cnt++;
        B.push_back(A[u]);
        root = A[u].next;
    }
    sort(B.begin(),B.end(),cmp);
    for(int i=0;i<B.size();i++)
    {
        printf("%05d %d ",B[i].ad,B[i].val);
        if(i!=B.size()-1)
        {
            printf("%05d\n",B[i+1].ad);
        }else
        {
            printf("-1\n");
        }
    }
    return 0;
}

反思:要把要处理的链表上的点和杂点分离出来。要注意,sort不是稳定排序。

对角两对双差速轮AGV的平移、直行、转弯和原地旋转之PID控制 本示例将展示如何使用PID控制算法,控制具有对角线布置的两对双差速轮(左前和右后)的AGV,实现平移、直行、转弯和原地旋转等运动。通过对车辆的运动学和PID控制器的设计,我们可以精确地控制AGV的运动 阅读详情

相关推荐

用R语言实现“中断时间序列分析” --- R code for ITS

ITS方法可用于评估一项干预措施的效果,从水平改变和斜率改变两个角度来描述干预引起的变化。

franksui的博客 4026

PAT A1133

题意 给出一个链表,要求负数值排在非负之前,[0,K]之间的数在前面,所有值原始顺序不变。 代码 分成三块分别存储结点,注意每块的结点数目都可能为0,所以会对每一块最后一个结点的next有影响。 #include <iostream> #include <algorithm> #include <vector> using namespace std; const int maxn = 100010; struct node { int data; in

weixin_41945646的博客 202

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 247

PAT甲级A1133 Splitting A Linked List

pat甲级链表

biancheng_adai的博客 211

别再只盯着MES了!半导体/面板厂CIM系统全家桶(EAP/YMS/SPC)保姆级入门指南

本文深入解析半导体制造中的CIM系统,涵盖EAP、YMS和SPC等关键子系统的协同工作。通过实战案例和技术细节,展示如何利用CIM系统提升生产效率、良率管理和设备维护,为半导体/面板厂提供全面的实施指南和优化策略。

weixin_33693070的博客 464

告别软件轮询!用STM32G474的COMP比较器实现纳秒级硬件过压保护(CubeMX配置详解)

本文详细介绍了如何利用STM32G474的COMP比较器实现纳秒级硬件过压保护,通过CubeMX配置详解,展示了硬件比较器相比传统软件轮询方案在响应时间、CPU占用和可靠性等方面的显著优势。文章还提供了实战配置流程和优化技巧,帮助工程师快速构建高效的硬件保护系统。

weixin_28683689的博客 351

PAT A 1133 AC代码(两种输出方式)

跑一遍序列,根据要求分别将结点标记存入v1、v2、v3 我二刷时用ans数组合并了v1、v2、v3,再进行输出会方便很多,不然的话需要分别考虑v1、v2、v3是否为空的情况(原本我是那样写的,如果是那样写的同学要注意一下只有v2是空的情况) 两种我都放在这 不推荐去记录新序列的下一节点,那样也要分别讨论是否非空的几种情况,也比较麻烦 合并输出的写法: #include<iostream> #include<vector> using namespace std; stru

maxleo928的博客 186

MySQL等保三级合规实践:如何安全配置root账户的本地与受信主机登录策略

本文详细介绍了MySQL在等保三级合规框架下如何安全配置root账户的本地与受信主机登录策略。通过分析root账户的特殊保护需求,提供三种安全加固方案,包括限制访问范围、限定登录IP和完全禁止远程登录,并指导创建安全的远程管理账户。文章还涵盖了密码策略强化、日志审计配置和网络层防护等关键合规要求,帮助用户实现MySQL的等保三级全面合规。

weixin_42522964的博客 259

PAT-A1133/B1075 Splitting A Linked List/链表元素分类 题目内容及题解

Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the non-negatives, and all the values in [0, K] appear before all those grea...

BourbonWhiskey 的博客 430

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

从透射谱到能量分布:用Rsoft破解光纤光栅耦合模式的3个关键技巧

本文面向光通信工程师与研究者,分享了利用Rsoft软件深入分析光纤光栅耦合模式的三个关键技巧。通过配置场监视器观察XY截面能量分布、利用传播动画追踪动态过程,并结合模式求解器精准判定相位匹配,帮助用户超越透射谱分析,直观可视化能量从纤芯到包层的耦合与流动,从而优化器件设计。

weixin_29290963的博客 421

PAT甲级1133解题报告

1133 Splitting A Linked List (25 point(s)) Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the non-negatives, and all the v...

TateBrwonJava的博客 589

稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案

深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。

Cheson的专栏 1358

pat甲级1133 1133 Splitting A Linked List (25分)

文章目录pat甲级1133 1133 Splitting A Linked List (25分)1. 20分代码(最后一个点代码)2.正确代码3.总结 pat甲级1133 1133 Splitting A Linked List (25分) 1. 20分代码(最后一个点代码) #include <iostream> #include <vector> #include <unordered_map> using namespace std; struct node {

qq_44992782的博客 249

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

PAT_A1133#Splitting A Linked List

Source: PAT A1133Splitting A Linked List(25分) Description: Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the n...

weixin_34261415的博客 245

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

PAT 1133 Splitting A Linked List

原文链接:我的个人博客 原题链接   PAT 1133 Splitting A Linked List 考点   链表 思路   题目要求将负数全部放到非负数的前面。对于非负数,将[0,k]的数放到>k的前面。只要遍历list1,先加将负数push_back到list2中,再将list1中[0,k]的push_back到list2,最后将list1中大于k的数push_back进...

我是没有梦想的小白 221

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

pat a 1133

感觉这道题主要是输出有点坑,思路还好,就是把小于0,大于k和在中间的数分成三组,然后在接起来 #include <stdio.h> #include <vector> using namespace std; const int maxv=100010; struct Node{ int addr; int data; int next; }node[maxv]; ...

blxl313的博客 148

PAT甲级A1133

1,题目 点我 ^ _ ^ 2注意点 注意倒数第二测试点可能出现不在链表中的结点,因此输出时不能固定输出N个,而是num_result个结点。 for(int i=0; i<num_result; ++i) { if(i==num_result-1) { printf("%.5d %d -1\n",result[i].Address,result...

qq_29006825的博客 227

第十六天PAT-A1133 Splitting A Linked List链表模拟STL应用测试点四注意说明

A1133 Description: 给出一个序列,要求不破坏原顺序的情况下,先输出负数、再输出[0,k]范围数、再输出其余数; 思路: 模拟链表操作,但是最后一组超时了,可能有无法终止循环的bug,也可能是算法本身有问题,明天看看柳神会怎么做; #include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include

giggle66的博客 342

pat——————A1133

1133 Splitting A Linked List (25分) Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the non-negatives, and all the values in [0, K] appear before all those greater than K. The order

LiuTonyson的博客 173

PAT A1133 Splitting A Linked List

PAT A1133 Splitting A Linked List Sample Input: 00100 9 10 23333 10 27777 00000 0 99999 00100 18 12309 68237 -6 23333 33218 -4 00000 48652 -2 -1 99999 5 68237 27777 11 48652 12309 7 33218 Sample Out...

qq_42347617的博客 156

PAT甲级 1133 Splitting A Linked List

浙江大学PAT题目解答内容. Contribute to ZouJiu1/PAT development by creating an account on GitHub.GitHub - ZouJiu1/PAT: 浙江大学PAT题目解答内容。

邹九的个人博客 200

PAT A-1133 Splitting A Linked List

给定一个链表和数值k,先输出负数,然后输出<=k的数,然后是大于k的。本题采用静态链表存储,注意需要检查链表是否有垃圾结点。

Villanelle_w的博客 386

PAT 甲级 1133  Splitting A Linked List

1133 Splitting A Linked List (25 point(s)) Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the non-negatives, and all the v...

漫浸天空的雨色的备忘录~ 794

1133. Splitting A Linked List (25)[链表处理]

1. 原题: https://www.patest.cn/contests/pat-a-practise/1133 2. 思路: 题意:链表处理题 将一杂乱的链表按照一定格式(负的在前,大于给定值的在后)重新排列。 思路: 先把每个结点存储在数组里, 然后遍历3次,存入vector里,最后输出即可。 已AC 3. 源码 #include #include using n

坚不萌 259
上一篇: PAT a1134
下一篇: PAT a1132
CSlerner
博客等级 码龄9年 153粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值