当前位置:网站首页>PAT1165 Block Reversing(25)
PAT1165 Block Reversing(25)
2022-08-01 12:51:00 【此杭非彼航】
题目



代码
#include<bits/stdc++.h>
using namespace std;
struct Node{
int addr,val,next,index,init_pos;
};
unordered_map<int,Node> li;
vector<Node> vec;
bool cmp(Node x,Node y){
if(x.index!=y.index) return x.index>y.index;
else return x.init_pos<y.init_pos;
}
int main()
{
int root,n,k;
cin>>root>>n>>k;
for(int i=0;i<n;++i){
int x,y,z;
cin>>x>>y>>z;
li[x]={
x,y,z};
}
int pos=1,cnt=0;
while(root!=-1){
cnt++;
li[root].index=pos;
li[root].init_pos=cnt;
if(cnt==k){
cnt=0;
pos++;
}
vec.push_back(li[root]);
root=li[root].next;
}
sort(vec.begin(),vec.end(),cmp);
// printf("------\n");
for(int i=0;i<vec.size();++i){
printf("%05d %d ",vec[i].addr,vec[i].val);
if(i==vec.size()-1) printf("-1");
else printf("%05d\n",vec[i+1].addr);
}
}
思路
给block标序号(index),同一个block内的结点按原始顺序标号(init_pos),然后按照index从大到小排序,同一个block按init_pos从小到大排序
注意
虽然例题中所有的结点都是可用的,但测试点所给的数据是有可能存在脏数据的,因为在输出时不能下意识地按n输出,而是要按vec内实际的数量输出(vec.size())。
但谁能想到,我一开始改了for循环的n,却忘了改if判断里的n,一直是if(i==n-1),直接导致我最后一个测试点一直无法通过,好笨
边栏推荐
- 50W+小程序开发者背后的数据库降本增效实践
- Do wildcard SSL certificates not support multiple domains?
- 多线程案例——阻塞式队列
- Multi-threaded cases - blocking queue
- 高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
- 34、树莓派进行人体姿态检测并进行语音播报
- Apex installation error
- Six Stones Programming: Problems must be faced, methods must be skillful, and functions that cannot be done well must be solved
- 软件设计师考点汇总(室内设计师个人总结)
- 论文笔记All about Eve: Execute-Verify Replication for Multi-Core Servers
猜你喜欢
随机推荐
Alibaba Cloud Official Redis Development Specification
Windows 安装PostgreSQL
Meshlab&Open3D SOR滤波
fh511小风扇主控芯片 便携式小风扇专用8脚IC 三档小风扇升压芯片sop8
模型运营是做什么的(概念模型数据库)
树和二叉树的转换
高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
NebulaGraph v3.2.0 性能报告
[Cloud Enjoying Freshness] Community Weekly Vol.73- DTSE Tech Talk: 1 hour in-depth interpretation of SaaS application system design
bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
SQL函数 SQRT
PyTorch 进阶之路:在 GPU 上训练深度神经网络
拥抱NFV,Istio 1.1 将支持多网络平面
What is consistent hashing?In what scenarios can it be applied?
Meshlab & Open3D SOR filtering
How to Integrate Your Service Registry with Istio?
MMF的初步介绍:一个规范化的视觉-语言多模态任务框架
六石编程学:问题要面对,办法要技巧,做不好的功能要想办法
28uA待机8米距离低压保护单片机探头太阳能灯人体PIR定制方案









