PAT乙级
时间:2019-01-30
本文章向大家介绍PAT乙级,主要包括PAT乙级使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
写的很啰嗦。。。测试点6没过 以后再改吧。。。
实现
#include <cstdio>
#include <iostream>
#include <vector>
#define MAXSIZE 100001
using namespace std;
struct node {
int add, data, next;
};
int main()
{
int start, N, K, i, add, data, next;
vector<node> nodes(MAXSIZE);
//map<int, int> before_add;
cin >> start >> N >> K;
for (i = 0; i < N; i++)
{
cin >> add >> data >> next;
nodes[add].add = add;
nodes[add].data = data;
nodes[add].next = next;
// before_add[next] = add;
}
int partstart = start, count = 0, partend, run;
while (N >= K)
{
vector<int> partadd(K);
partend = partstart;
count = 1;
while (count < K)
{
partadd[count++] = partstart;
if (partstart == -1)
continue;
partstart = nodes[partstart].next;
}
int pn = N - count>0 ? nodes[partstart].next : partstart;
int nextstart = pn;
if ((N - K) >= K)
{
i = 1;
for (i = 1; i < K; i++) pn = nodes[pn].next;
}
partadd[0] = pn;
for (; count >= 1; count--)
{
int tempadd = partadd[count - 1];
if (N == 1)
printf("%05d %d -1\n", nodes[partstart].add, nodes[partstart].data);
else
printf("%05d %d %05d\n", nodes[partstart].add, nodes[partstart].data, tempadd);
partstart = tempadd;
N--;
}
partstart = nextstart;
}
while (N)
{
if (nodes[partstart].next == -1)
{
printf("%05d %d -1\n", nodes[partstart].add, nodes[partstart].data);
break;
}
else
printf("%05d %d %05d\n", nodes[partstart].add, nodes[partstart].data, nodes[partstart].next);
partstart = nodes[partstart].next;
N--;
}
return 0;
}
- Silverlight:利用Panel实现自定义布局
- 《物联网智能终端信息安全白皮书》再次敲响物联网时代警钟
- Gitlab可视化代码树插件-Octotree
- 子线程调用UI线程的方法
- Silverlight:Dependency Property(依赖属性)学习笔记
- Silverlight:利用异步加载Xap实现自定义loading效果
- Docker容器学习梳理--手动制作系统镜像
- 怎样裁剪图片的局部
- vb中实现最佳按钮效果
- silverlight:wcf双工通讯学习笔记
- Docker容器学习梳理--web管理工具DockerUI部署记录
- Docker容器学习梳理-容器硬盘热扩容
- 检测到Loaderlock的问题
- 权威报告预测比特币在2018年“王位”不保
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ClassLoader工作机制
- SSM第三讲 SpringAOP开发
- 如何加载Class文件到JVM
- spring + maven 实现发送邮件
- SSM第四讲 Mybatis原理及开发流程
- SSM第五讲 动态SQL与高级查询
- SSM第六讲 MyBatis的高级特性
- SSM第七讲 SpringMVC概述和基础知识详解
- SSM第八讲 SpringMVC高级特性
- SSM第九讲 Spring+SpringMVC+MyBatis框架整合
- 大型项目技术栈第一讲 Vue.js的使用
- springBoot 入门(五)—— 使用 纯注解方式 的springboot+ mybatis+junit4 整合
- 常见加载类错误分析
- 常用的ClassLoader分析
- 如何实现自己的ClassLoader