news 2026/5/25 16:27:21

打卡信奥刷题(3316)用C++实现信奥题 P9185 [USACO23OPEN] Rotate and Shift B

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3316)用C++实现信奥题 P9185 [USACO23OPEN] Rotate and Shift B

P9185 [USACO23OPEN] Rotate and Shift B

题目描述

注意:本题的时间限制为 4 秒,是默认时间限制的 2 倍。

为了庆祝春天的到来,Farmer John 的NNN头奶牛发明了一种有趣的舞蹈,她们围成一个圆圈,并以一种可预测的方式重新排列自己。

具体来说,圆圈上有NNN个位置,编号从000N−1N-1N1,其中位置000紧接着位置N−1N-1N1。每个位置上有一头奶牛。奶牛的编号也从000N−1N-1N1。初始时,奶牛iii位于位置iii。你会被告知一组KKK个“活跃”位置0=A1<A2<⋯<AK<N0 = A_1 < A_2 < \dots < A_K < N0=A1<A2<<AK<N,这意味着这些位置上的奶牛是下一批要移动的。

在舞蹈的每一分钟,会发生两件事。首先,活跃位置上的奶牛会旋转:位置A1A_1A1的奶牛移动到位置A2A_2A2,位置A2A_2A2的奶牛移动到位置A3A_3A3,依此类推,位置AKA_KAK的奶牛移动到位置A1A_1A1。所有这些KKK次移动同时发生,因此在旋转完成后,所有活跃位置仍然恰好有一头奶牛。接下来,活跃位置本身会移动:A1A_1A1变为A1+1A_1 + 1A1+1A2A_2A2变为A2+1A_2 + 1A2+1,依此类推(如果某个活跃位置Ai=N−1A_i = N-1Ai=N1,则AiA_iAi会循环回到000)。

请计算舞蹈进行TTT分钟后奶牛的顺序。

输入格式

第一行包含三个整数NNNKKKTTT

第二行包含KKK个整数,表示初始的活跃位置A1,A2,…,AKA_1, A_2, \dots, A_KA1,A2,,AK。注意A1=0A_1 = 0A1=0,并且这些位置是按递增顺序给出的。

输出格式

输出TTT分钟后奶牛的顺序,从位置000的奶牛开始,用空格分隔。

输入输出样例 #1

输入 #1

5 3 4 0 2 3

输出 #1

1 2 3 4 0

说明/提示

对于上述样例,以下是前四个时间步的奶牛顺序和活跃位置AAA

初始,T = 0:顺序 = [0 1 2 3 4],A = [0 2 3] T = 1:顺序 = [3 1 0 2 4] T = 1:A = [1 3 4] T = 2:顺序 = [3 4 0 1 2] T = 2:A = [2 4 0] T = 3:顺序 = [2 4 3 1 0] T = 3:A = [3 0 1] T = 4:顺序 = [1 2 3 4 0]

1≤K≤N≤2⋅1051 \leq K \leq N \leq 2 \cdot 10^51KN21051≤T≤1091 \leq T \leq 10^91T109

  • 输入 2-7:N≤1000N \leq 1000N1000T≤10000T \leq 10000T10000
  • 输入 8-13:没有额外限制。

C++实现

#include<bits/stdc++.h>usingnamespacestd;intn,k,t,a[200005][3],b[200005],c[200005];intmain(){cin>>n>>k>>t;for(inti=1;i<=k;i++)cin>>b[i];intx=b[2]-b[1],k1=2;for(inti=0;i<n;i++){if(i==b[k1]){if(k1==k)x=n-b[k1];else{k1++;x=b[k1]-b[k1-1];}}a[i][1]=x;}k1=1;for(inti=0;i<n;i++,x++){if(i==b[k1]){x=0;k1++;}a[i][2]=x;}for(inti=0;i<n;i++){inty;if(a[i][2]==0)y=i+int(ceil(t*1.0/a[i][1]))*a[i][1];elsey=i+int(ceil((t-a[i][2])*1.0/a[i][1]))*a[i][1];c[y%n]=i;}for(inti=0;i<n;i++)cout<<c[i]<<" ";return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 16:27:03

macOS音频优化终极指南:免费版eqMac与专业版完整功能对比

macOS音频优化终极指南&#xff1a;免费版eqMac与专业版完整功能对比 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer &#x1f3a7; 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac 对于追求完美音质的Mac用户来说&#xff0c;eqMa…

作者头像 李华
网站建设 2026/5/25 16:25:11

对比自行对接与使用Taotoken聚合在账单清晰度上的差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比自行对接与使用Taotoken聚合在账单清晰度上的差异 在开发一个需要集成多种大语言模型能力的项目时&#xff0c;我们最初选择了…

作者头像 李华
网站建设 2026/5/25 16:24:17

OpenCV 4.9.0 尝鲜指南:新DNN模块、Transformer支持与ARM优化,一次讲透

OpenCV 4.9.0 深度解析&#xff1a;解锁DNN模块新特性与ARM优化实战 计算机视觉开发者们期待已久的OpenCV 4.9.0版本带来了多项突破性改进。这次更新不仅仅是简单的功能堆砌&#xff0c;而是针对现代视觉任务需求做出的战略性升级。本文将带您深入探索三个最具价值的创新点&…

作者头像 李华
网站建设 2026/5/25 16:22:02

《AI合成数据技术:破解数据枯竭难题,2026年AI训练的核心新燃料》

人工智能产业的核心本质是“数据驱动智能”&#xff0c;高质量数据一直是模型训练、算法迭代的核心基础燃料。但随着全球AI模型规模化训练落地&#xff0c;一个严峻的行业问题逐渐凸显&#xff1a;高质量真实标注数据日益枯竭。公开高质量数据越来越少&#xff0c;私有数据采集…

作者头像 李华
网站建设 2026/5/25 16:20:12

使用curl命令调试Taotoken API接口的常见问题排查

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用curl命令调试Taotoken API接口的常见问题排查 基础教程类&#xff0c;面向所有需要通过HTTP直接与API交互的开发者&#xff0c…

作者头像 李华