当前位置: 首页 > 编程日记 > 正文

PAT(甲级)2019年冬季考试 7-2 Block Reversing

这题是做过的,B1025,我还总结过,果然早晚复相逢,只改了一点点,见1025 反转链表。

点睛之笔是结构体数组的哈希,地址既做下标,又有实际含义,妙啊。

node[add].add = add;

当时应该是排序函数cmp写得很溜,今天下午模拟时就在那打算全靠hash,代码十分粗暴,得了20/30,也没兴趣再看错哪了。

加一个no属性用于排序是很好的。

此题的输出有点绕,主要是

1 要考虑最后一块可能不满K个。

2 要考虑-1作为唯一一个不是5位的地址会在何出出现。

总体思路没错的话,剩下一些小细节多注意就能拿满分。

AC代码

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<vector>
#include<string>
#include<queue>
#include<map>
#include<cstring>using namespace std;const int maxn = 100010;const int SUP = 2000000000;struct Node{int data,add,next;int no = maxn;
}node[maxn];bool cmp(Node a,Node b){return a.no<b.no;
}int main(){int headAdd,n,K;scanf("%d %d %d",&headAdd,&n,&K);int add,data,next;for(int i=0;i<n;i++){scanf("%d %d %d",&add,&data,&next);node[add].add = add;node[add].data = data;node[add].next = next;}//现在要把no属性补充上,同时筛出无效结点int cnt = 0;while(headAdd!=-1){node[headAdd].no = cnt;cnt ++;headAdd = node[headAdd].next;} sort(node,node+maxn,cmp);//开始输出int bNum = cnt/K;//块数 if(cnt%K!=0)bNum ++; if(bNum==1){for(int i=0;i<cnt;i++){printf("%05d %d ",node[i].add,node[i].data);if(i!=cnt-1)printf("%05d\n",node[i+1].add);else printf("-1\n");}return 0;}for(int b=bNum;b>=1;b--){if(b==bNum){int num = cnt - (bNum-1)*K;
//			printf("n = %d\n",num);for(int i=0;i<num;i++){int j = (b-1)*K+i;printf("%05d %d ",node[j].add,node[j].data);if(i!=num-1)printf("%05d\n",node[j+1].add);else printf("%05d\n",node[(b-2)*K].add);}}else if(b==1){for(int i=0;i<K;i++){int j = (b-1)*K+i;printf("%05d %d ",node[j].add,node[j].data);if(i!=K-1)printf("%05d\n",node[j+1].add);else printf("%d\n",-1);}}else{for(int i=0;i<K;i++){int j = (b-1)*K+i;printf("%05d %d ",node[j].add,node[j].data);if(i!=K-1)printf("%05d\n",node[j+1].add);else printf("%05d\n",node[(b-2)*K].add);}}}return 0;
}

结果

相关文章:

题目1444:More is better

时间限制&#xff1a;3 秒 内存限制&#xff1a;100 兆 特殊判题&#xff1a;否 提交&#xff1a;1362 解决&#xff1a;640 题目描述&#xff1a;Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the bette…

COMP 0137 Machine Vision

COMP 0137作业代做、Python实验作业代写、代做Python语言程序作业、代写Machine Vision作业COMP 0137 Machine Vision: Homework #1Due 19th November 2018 at 23:55pmWorth 10% of your overall gradeSubmit online, through MoodleFor this homework, we’ll revisit the pra…

windows mobile shell API

SHSetNavBarText 设置NavBar 文本信息 SHDoneButton 设置右上角button为关闭&#xff0c;还是最小化。 SHFullScreen 全屏&#xff0c;显示隐藏taskbar 软键盘button 开始图标 SHInitDialog 实例化对话框 SHInitDialogFlags 设置dialog参数…

PAT(甲级)2019年秋季考试 7-3 Postfix Expression

只在编译原理学过一点后序表达式&#xff0c;我把这题当作普通的二叉树遍历&#xff0c;事实上也的确如此。我注意到“-”这个符号不一样&#xff0c;别的都是后序遍历&#xff0c;但是遇到这个负号/减号就变成了先序。 于是我对负号做特判&#xff0c;遇到值为负号就改后序为…

(翻译)LearnVSXNow! #6 - 创建我们第一个工具集 - 序幕

在前面的文章中,我们在向导的帮助下创建了一些小的VSPackages。在第五讲中我们整理了VSX的一些思路和概念&#xff0c;深入VSPackages 了解了packages如何工作以及服务的机制。在这篇文章中我们继续向前。 本文我们开始创建一个工具集来帮助我们创建容易编写和理解的代码。我计…

Spring事务管理的底层逻辑—源码解析

本文代码为spring 5.1.2spring是如何控制事务的提交和回滚 加上Transactional注解之后&#xff0c;Spring可以启到事务控制的功能了&#xff0c;再正式执行方法前它会做一些操作&#xff0c;我们来看看 首先进入CglibAopProxy.class的intercept方法或者JdkDynamicAopProxy.clas…

[codevs 1913] 数字梯形问题

[codevs 1913] 数字梯形问题 题解&#xff1a; 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题。分别针对三个规则建图、运行最小费用最大流。规则1&#xff1a;从梯形的顶至底的m条路径互不相交。分析&#xff1a;因为要互不相交&#xff0c;所以每个点只能走一次&#xff0c…

PAT(甲级)2019年秋季考试 7-2 Merging Linked Lists

又是老朋友链表输出题&#xff0c;依然采用哈希静态存储&#xff0c;但是这题稍复杂的是&#xff0c;有两条链表&#xff0c;但是我们可以默认link1>link2&#xff0c;然后让link2上的节点接着link1后面编号&#xff0c;并且注意link2是倒序输出的。 输出时有几个关键点&am…

Flash/Flex学习笔记(4):如何打开网页及Get/Post数据

flash终究只是客户端技术&#xff0c;所以很多时候还是需要与服务端技术(比如asp,asp.net,jsp,php之类)进行数据交互的&#xff0c;下面的代码演示了如何在flash中打开网页&#xff0c;以及用GET/POST二种方式向服务端发送数据//按下按钮&#xff0c;打开网页 btnOpen.addEvent…

【Mood 19】DailyBuild 2月

2月1号 仿美团loading时小人奔跑动画 HTML5定稿了&#xff0c;为什么原生App世界将被颠覆&#xff1f; -----HTML5一改过去卡顿不兼容的毛病&#xff0c;在硬件升级以及苹果谷歌策略变化的背景下&#xff0c;让自己的优势相对于原生开发更加明显起来&#xff1a; 对开发者的“跨…

(二)spring cloud微服务分布式云架构 - 整合企业架构的技术点

spring cloud本身提供的组件就很多&#xff0c;但我们需要按照企业的业务模式来定制企业所需要的通用架构&#xff0c;那我们现在需要考虑使用哪些技术呢&#xff1f; 下面我针对于spring cloud微服务分布式云架构做了以下技术总结&#xff0c;希望可以帮助到大家&#xff1a; …

用拓扑排序检测有向图中是否有环

目录 算法主要步骤 代码 测试数据 提示&#xff1a;由于拓扑排序的检测方式不涉及到边权或点权&#xff0c;所以拓扑序列中的正环和负环都能够被检测出来。检测可达负环可以用Bellman-Ford或者SPFA。 算法主要步骤 1. 记录每个结点的入度&#xff0c;设置一个队列&#xf…

关于大型网站技术演进的思考(五)--存储的瓶颈(5)

上文里我遗留了两个问题&#xff0c;一个问题是数据库做了水平拆分以后&#xff0c;如果我们对主键的设计采取一种均匀分布的策略&#xff0c;那么它对于被水平拆分出的表后续的查询操作将有何种影响&#xff0c;第二个问题就是水平拆分的扩容问题。这两个问题在深入下去&#…

Project Chameleon Work In Progress 10

现在的进展是&#xff0c;UMDF驱动的DeviceIOControl和Read、Write已经都能使用了&#xff0c;并且FX2LP的EP6IN也正常工作&#xff0c;下面是工作中的测试代码截图&#xff1a; 转载于:https://www.cnblogs.com/skogkatt/archive/2010/03/13/4163356.html

maven项目中 把依赖的jar包一起打包

2019独角兽企业重金招聘Python工程师标准>>> Maven1-HelloWorld简单入门 使用Maven Assembly plugin将依赖打包进jar 1、pom.xml 配置文件&#xff1a; 在pom.xml配置文件中添加 <build> <plugins> <plugin> <artifactId>maven-assembly…

PAT(甲级)2019年春季考试 7-4 Structure of a Binary Tree

目录 整体思路 犯的错误 代码 整体思路 1.先根据后序和中序序列建树&#xff0c;老生常谈&#xff0c;记得返回root 2.对树进行BFS&#xff0c;在这个过程中用hash的方式记录下每个值对应的父节点、左孩子、右孩子的值&#xff0c;记录下深度(即层数)&#xff0c;还有孩子…

vs2008 常用快捷键

编辑快捷键 CtrlB,T 切换书签开关 CtrlB,N 移动到下一书签 CtrlB,P 移动到上一书签 CtrlB,C 清除全部标签 CtrlI 渐进式搜索 CtrlShiftI反向渐进式搜索 F12 转到定义 AltF12 查找符号(列出所有查找结果) CtrlF 查找 CtrlH 替换 CtrlShi…

我理解的观察者模式

什么是观察者模式&#xff1f; 当对象间存在一对多关系时,比如&#xff0c;当一个对象被修改时&#xff0c;则会自动通知它的依赖对象。观察者模式也叫做发布订阅模式。 观察者模式有什么好处&#xff1f; 观察者模式中&#xff0c;被观察者发生改变时&#xff0c;会自动通知所…

PAT(甲级)2019年春季考试 7-3 Telefraud Detection

1. 这题复杂在诈骗检测算法的理解 怎样的一个人会被判定成嫌疑犯呢&#xff1f; 他打出给别人的累计通话时长的不同的人数大于K 注意&#xff1a;不同和累计 怎样的两个人会被判定成同伙呢&#xff1f; 相互之间有通话记录 2. 同伙的合并我采用的并查集&#xff0c;在设置…

Linux基础命令---diffstat

diffstat这个程序读取diff的输出&#xff0c;并显示每个文件的插入、删除和修改的直方图。Diffstat是一个用于检查大型复杂修补程序文件的程序。它从包含diff输出的一个或多个输入文件中读取&#xff0c;生成针对引用的每个文件更改的总行的直方图。如果输入文件名以.bz 2、.gz…

两个asp.net发送邮件类

代码 //第一个usingSystem;usingSystem.Text;usingSystem.Net.Mail;namespaceCars.Tootls.Tools{ publicclassEmail { privateEmail() { } ///<summary>///发送邮件 ///</summary>///<param name"Su…

symfony2是什么?

首先&#xff0c;symfony2是一个松散的&#xff0c;独立的&#xff0c;有组织严密的php组件的集合&#xff0c;它可以为你解决一些web开发中一般性的问题。 其次&#xff0c;基于这些组件&#xff0c;php又可以作为一个独立web框架使用。 转载于:https://www.cnblogs.com/ljcph…

PAT(甲级)2019年春季考试 7-2 Anniversary

注意点 1. 记录是不是校友&#xff0c;有两种方法 &#xff08;1&#xff09;map<string,int> mp mo[guest] 1 判断mp[comer] &#xff08;2&#xff09;set<string> st st.insert(guest) st.count(comer) 2. 由于只需要输出年龄最大的&…

根据总用量计算每种包装规格的购买量和总价

最近有这么一个需求&#xff0c;就是给出客户需要的总量&#xff0c;然后根据数据库记录的包装规格&#xff0c;计算出客户需要购买的包装规格种类和个数&#xff0c;而且要保证客户的花费最小。 示例图片效果 示例代码实现如下。欢迎大家一起讨论。 代码 using System;using S…

5个在线调试代码的网站

对于编程开发的人来说&#xff0c;有个快速测试代码的地方是非常方便重要的&#xff0c;这里&#xff0c;我们收集了5个很好用的在线调试网站。 1.codepad 是一款简单的在线 IDE 编辑器服务&#xff0c;你只需要把代码粘贴进去就可以编译运行了&#xff0c;连工程也不需要新建&…

Windows 日志高级筛选实践

背景经常需要查看日志&#xff0c;不仅是用来排错&#xff0c;有些时候我还需要监控系统来抓取特定日志来帮助减少我的工作负担&#xff0c;以及时监控到异常出现&#xff0c;并作出通知及响应&#xff0c;那么从大量日志中快速并精确筛选出想要的日志&#xff0c;并且精确提取…

PAT(甲级)2018年秋季考试 7-1 Werewolf - Simple Version

1. 我设置了一个结构体变量存储每个人的指控信息 struct IF{int type 0;int no; }; 这里我发现了一件事&#xff0c;如果结构体只有有参数的构造函数&#xff0c;那么直接声明该结构体类型的数组是不行的。但是好处是数组知道下标可以直接赋值。 也就是这样组合最好&#x…

appium 启动失败解决方案

本机下载了&#xff1a;AppiumForWindows&#xff0c;启动Appium.exe 的时候&#xff0c;立即提示&#xff1a;应用程序已停止运行&#xff01;&#xff01; 本机环境&#xff1a; WIN 7 64 位&#xff0c;后来查了资料才知道Appium 要求安装.net framework 4.5&#xff0c;本机…

Django基础-数据分页

2019独角兽企业重金招聘Python工程师标准>>> pager.py # -*- coding:utf8 -*- """ 引用说明&#xff1a; 数据总个数&#xff1a;total_count 数据总页数&#xff1a;num_pages 每页显示的行数&#xff1a;perPageItemNum【默认显示10行】 最多显示页…

存货的计划属性设置(ATO模型和PTO模型)

对于原来应用ERP1时已经存在的存货&#xff0c;如果在存货属性中没有进行过设置或者设置不完善&#xff0c;需要进行补充设置。这样的补充设置包括&#xff1a; 自制&#xff1a;具有该属性的存货可由企业生产自制。如工业企业生产的产成品、半成品等存货。具有该属性的存货可用…