咨询关于PAT乙级1025部分答案错误问题

千里东风一梦遥 千里东风一梦遥 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1025. 反转链表 (25)
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。

输入格式:

每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N),即要求反转的子链结点的个数。结点的地址是5位非负整数,NULL地址用-1表示。

接下来有N行,每行格式为:

Address Data Next

其中Address是结点地址,Data是该结点保存的整数数据,Next是下一结点的地址。

输出格式:

对每个测试用例,顺序输出反转后的链表,其上每个结点占一行,格式与输入相同。

输入样例:
00100 6 4
00000 4 99999
00100 1 12309
68237 6 -1
33218 3 00000
99999 5 68237
12309 2 33218
输出样例:
00000 4 33218
33218 3 12309
12309 2 00100
00100 1 99999
99999 5 68237
68237 6 -1

下面是我的代码:


#include<stdio.h>
using namespace std;
struct Node{
int ad;
int data;
int next;
}node[100001],temp[100001];
int main()
{
int fstad,n,k;
while(scanf("%d %d %d",&fstad,&n,&k)!=EOF){ //输入起始地址,节点数与交换长度
for(int i=0;i<n;i++){
scanf("%d %d %d",&node[i].ad,&node[i].data,&node[i].next); //输入节点的地址,节点数值与指向下一节点的地址
}
int j=0; //统计有效节点数
for(int i=0;i<n;i++){ //依次找出每个节点并放在temp[]数组中
if(fstad==node[i].ad){
temp[j++]=node[i];
fstad=node[i].next;
i=-1;
}
if(fstad==-1) break;
}
int cont=0;
int t=0;
for(int i=k-1;i>=0&&cont<j/k;i--){ //对每隔K区间的节点转置后放入到node[]中
node[t++]=temp[i];
if(i==cont*k){
cont++;
i=cont*k+k;
}
}
if(j%k!=0){ //后面不够K的部分直接存入对应的node[]中
for(int i=j-j%k;i<n;i++){
node[i]=temp[i];
}
}
for(int i=0;i<j-1;i++){ //将后一节点的node[i].ad放入到前一节点的next中
node[i].next=node[i+1].ad;
}
for(int i=0;i<j;i++){ //依次打印
if(node[i].next==-1) printf("%05d %d %d\n",node[i].ad,node[i].data,node[i].next);
else printf("%05d %d %05d\n",node[i].ad,node[i].data,node[i].next);
}
}
return 0;
}


我测试了多个例子,都可以通过没有问题,可是OJ判断是答案错误与超时,求助各位帮忙看看,谢谢。
...全文

相关推荐

70、智能辅导系统助力语言与代数学习

本文介绍了两款智能辅导系统——FLUTE和PAT Algebra I tutor,分别用于形式语言与自动机、代数表达式书写教学。文章探讨了它们的设计特点、功能优势、局限性以及未来发展方向。FLUTE基于GET-BITS模型,提供灵活的教学和学生模型,但需要进一步增强示例分类和问题生成能力;PAT Algebra I tutor通过多表示支持和模型追踪,提升代数教学效果,未来将优化对转换问题和负数问题的处理。两套系统展示了智能辅导系统在教育个性化和高效学习方面的巨大潜力。

晚风吻别

10、自动化解决方案业务与自动化金字塔解析

本文详细解析了自动化解决方案的业务流程和自动化金字塔结构。内容涵盖自动化项目的九大步骤、合同与服务协议的关键条款、涂层厚度测量的质量控制方法,以及自动化金字塔的层级结构与发展趋势。通过结合实际案例和数据分析,为读者提供了自动化项目实施的全面指导,并展望了自动化系统在智能化、网络化和集成化方向的未来发展。

metal

弱电网下光伏并网逆变器序阻抗建模仿真复现扫频法【序阻抗判断稳定性】

内容概要:本文聚焦于弱电网条件下光伏并网逆变器的序阻抗建模与稳定性分析,系统阐述了基于扫频法的阻抗特性仿真与复现方法。通过构建正负序阻抗模型,深入剖析逆变器在弱电网环境中的动态响应特性,结合锁相环、电流环等关键控制环节对系统阻抗的影响机制,采用序阻抗稳定性判据评估多机并网或复杂电网条件下的系统稳定裕度。研究在Simulink平台中实现激励信号注入、频率响应采集与阻抗曲线绘制,为高比例新能源接入背景下并网系统的稳定性分析提供了可靠的仿真手段与理论支撑,尤其适用于SCI级别论文成果的复现与拓展验证。; 适合人群:电力电子、新能源并网技术及相关领域的硕士/博士研究生、科研人员,以及从事光伏逆变器、微电网稳定控制开发的工程技术人员。; 使用场景及目标:①掌握扫频法在电力电子装置阻抗建模中的具体实施流程;②理解并应用基于序阻抗的稳定性判据进行系统稳定边界分析;③用于高水平学术论文(如SCI期刊)中阻抗建模与稳定性分析部分的仿真复现与方法验证; 阅读建议:建议读者结合文中所述方法与提供的参考文献,自主搭建Simulink仿真模型,逐步完成扰动信号设计、数据采集、傅里叶分析及阻抗拟合全过程,深入探究控制参数变化对系统阻抗特性和稳定性的具体影响,强化理论与实践的融合能力。

欢多天天写代码

三相并网逆变器虚拟阻抗+统一有源阻尼策略SVPWM+SPWM调制仿真

内容概要:本文档系统性地介绍了三相并网逆变器的核心控制技术及其在复杂电网环境下的仿真应用,重点涵盖虚拟阻抗与统一有源阻尼策略在SVPWM和SPWM调制方式下的实现方法,旨在提升逆变器的稳定性与电能质量。内容包括无功功率扰动孤岛检测、中点电位平衡控制、低电压穿越(LVRT)、模型预测控制(MPC)、正负序分离、电网前馈控制等关键技术,并扩展至风储联合调频、微电网下垂控制、虚拟同步发电机(VSG)、构网型逆变器等多种典型电力系统应用场景。所有技术均配有基于Simulink/Matlab平台的完整仿真模型、参考文献及说明文档,强调理论分析与仿真实践的深度融合,突出科研中“借力”与创新思维的重要性。; 适合人群:电气工程、自动化、新能源等相关专业的研究生、科研人员及从事电力电子与可再生能源系统开发的工程师;具备MATLAB/Simulink仿真基础和电力系统专业知识的技术人员。; 使用场景及目标:①开展三相并网逆变器控制策略的研究与优化设计;②复现高水平学术论文中的控制算法;③完成毕业课题、科研项目或工程仿真验证;④掌握虚拟阻抗、有源阻尼、SVPWM/SPWM调制、MPC、VSG等核心技术的建模与实现方法;⑤支撑微电网、构网型变流器等前沿方向的科研攻关。; 阅读建议:建议按照资源目录结构化学习,优先选择与自身研究方向契合的内容模块,结合提供的仿真模型、参考文献和说明材料进行实操演练,注重从理论推导到仿真实现的全过程理解,充分利用共享网盘资源深化技术掌握,提升科研效率与创新能力。

欢多天天写代码

chromedriver-win32-159.0.8133.0(Canary).zip

chromedriver-win32-159.0.8133.0(Canary).zip

LCG元
评论 4
收藏 已收藏
分享
返回顶部