上海市計算機學會競賽平臺2022年3月月賽丙組洗牌

題目描述

給定一個整數?nn,表示?nn?張牌,牌的編號為?11?到?nn。

再給定一個洗牌置換?f1,f2,…,fnf1?,f2?,…,fn?,進行一次洗牌操作時,應將第一號位置的牌交換到第?f1f1??號位置,將第?ii?號位置的牌交換到第?fifi??號位置。保證?ff?是一個?11?到?nn?的排列(即?11?到?nn?中的每個數字出現且只出現一次)。

一開始,牌的順序為?1,2,??,n1,2,?,n。給定一個整數?kk,請輸出經過?kk?次洗牌后牌的順序。

輸入格式

第一行:兩個整數?nn?與?kk;
第二行:nn?個整數表示?f1,f2,…,fnf1?,f2?,…,fn?。

輸出格式

單獨一行:nn?個整數表示洗?kk?次牌后的順序。

數據范圍
  • 對于?30%30%?的數據,1≤n≤1001≤n≤100,1≤k≤10001≤k≤1000;
  • 對于?60%60%?的數據,1≤n≤10001≤n≤1000,1≤k≤10,0001≤k≤10,000;
  • 對于?100%100%?的數據,1≤n≤100,0001≤n≤100,000,1≤k≤1,000,000,0001≤k≤1,000,000,000。
樣例數據

輸入:

4 2
4 1 2 3

輸出:

3 4 1 2

說明:

1234-->2341-->3412

輸入:

3 100000
1 2 3

輸出:

1 2 3

說明:

每次洗牌都不會改變牌的位置

詳見代碼:

#include <bits/stdc++.h>
using namespace std;
int n,k;
int f[100005];
int a[100005];
int main() 
{scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%d",&f[i]);}for(int i=1;i<=n;i++){if (a[i]==0){vector<int> v;v.push_back(f[i]);while (v[0]!=f[v.back()]){v.push_back(f[v.back()]);}int m=v.size();int d=k%m;for(int j=0;j<v.size();j++){a[v[(j+d)%m]]=v[j];}}}for(int i=1;i<=n;i++){cout<<a[i]<<" ";}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/85392.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/85392.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/85392.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DINO-R1:激勵推理能力的視覺基礎模型

摘要 近期&#xff0c;人們對大型語言模型&#xff08;如DeepSeek-R1&#xff09;推理能力的關注呈爆炸式增長&#xff0c;通過基于強化學習的微調框架&#xff08;如組相對策略優化&#xff08;Group Relative Policy Optimization&#xff0c;GRPO&#xff09;方法&#xff…

Linux--LVM邏輯卷擴容

Linux–LVM邏輯卷擴容 文章目錄 Linux--LVM邏輯卷擴容?? LVM 常用命令分類及基本格式? 1. 物理卷(PV)相關命令? 2. 卷組(VG)相關命令? 3. 邏輯卷(LV)相關命令?? 三、查看類命令簡寫說明使用命令及基本格式:lvm邏輯卷擴容步驟:1.添加硬盤設備2.檢測新增硬盤 添加…

C#基礎語法與控制臺操作

1. 控制臺操作基礎 控制臺程序是學習C#的起點。以下是一些常用的控制臺操作方法&#xff1a; 1.1. 清除控制臺 Console.Clear(); // 清除控制臺內容1.2. 輸出字符串 Console.WriteLine("Hello World!"); // 在屏幕的當前位置換行輸出字符串 Console.Write("…

100.Complex[]同時儲存實數和虛數兩組double的數組 C#例子

在信號處理中&#xff0c;IQ 數據&#xff08;In-phase and Quadrature&#xff09;通常表示復數形式的信號&#xff0c;其中實部表示同相分量&#xff0c;虛部表示正交分量。Complex[] data 是一個包含 IQ 數據的數組&#xff0c;每個元素是一個復數&#xff0c;表示一個信號樣…

停止追逐 React 重渲染

大多數開發者都在浪費時間對抗多余的重渲染。真正的 React 架構師根本讓問題無從產生——下面就來揭開他們的思路&#xff0c;以及為何大多數所謂的性能優化技巧反而拖慢了你的應用。 重渲染的無盡輪回 先來直擊痛點&#xff1a;如果還在項目里到處撒 useMemo、useCallback&…

流水線的安全與合規 - 構建可信的交付鏈

流水線的安全與合規 - 構建可信的交付鏈 “安全左移 (Shift-Left Security)”的理念 “安全左移”是 DevSecOps 的核心理念,指的是將安全測試和考量,從軟件開發生命周期 (SDLC) 的末端(發布前),盡可能地向左移動到更早的階段(如編碼、構建、測試階段)。 為何對 SRE 至…

???????神經網絡基礎講解 一

??一.神經網絡 ? ??1. 全連接神經網絡&#xff08;Fully Connected Network, FCN&#xff09;?? ??核心概念&#xff1a;?? ??輸入層??&#xff1a;接收原始數據&#xff08;如數字、圖片像素等&#xff09; 數字矩陣 。??隱藏層??&#xff1a;對數據…

MySQL 8.0 OCP 英文題庫解析(二十二)

Oracle 為慶祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免費考取原價245美元的MySQL OCP 認證。 從今天開始&#xff0c;將英文題庫免費公布出來&#xff0c;并進行解析&#xff0c;幫助大家在一個月之內輕松通過OCP認證。 本期公布試題201~210 試題2…

【大模型推理】PD分離場景下decoder負載均衡,如何選取decoder

https://mp.weixin.qq.com/s?__bizMzg4NTczNzg2OA&mid2247507420&idx1&sn4b32726abd205c7f94144bcb9105330f&chksmce64b9fc7f1d8de04a40b0153302dee52262c6f104c67195e2586e75c8093b8be493f252c8a3#rd 在非 Local 場景下&#xff0c;Prefill 定時獲取 Decode …

【IP地址】IP應用場景的使用方向

網絡安全領域 通過IP地址查詢&#xff0c;安全系統能夠實時監控網絡流量&#xff0c;識別異常訪問行為。例如&#xff0c;當某個IP地址在短時間內頻繁發起大量請求&#xff0c;且訪問模式與正常用戶存在明顯差異時&#xff0c;系統可將其標記為可疑IP&#xff0c;觸發風險預警…

3-18 WPS JS宏 顏色設置實例應用(按條件設置單元格顏色)學習筆記

前面講解了關于單元格的一些格式的設置&#xff0c;本節課再講解一下各種清除方法。 1.函數解析與用法 Range().clear()//清除全部 Range().Value2null //清除內容 Range().ClearContents()//清除內容 Range().ClearFormats()//清除格式 Range().EntireRow.Range()//以Ra…

從零開始的云計算生活——第二十天,腳踏實地,SSH與Rsync服務

目錄 一.故事背景 二.SSH帶外管理 1.概述 2. 配置文件 3.命令解析 4.登錄方式配置 a.用戶名密碼登錄 b.公鑰驗證登錄 5.實操生成密鑰對 三.Rsyncsersync實現數據實時同步 1.rsync概述 2.rsync運行原理 3.rsync部署 4.備份測試 配置備份目錄 5.rsyncsersync 實現…

SpringAI + DeepSeek大模型應用開發 - 初識篇

一、認識AI 1. AI的發展 AI&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;使機器能像人類一樣思考、學習和解決問題的技術。 2. 大模型及其原理 在自然語言處理&#xff08;Natural Language Processing, NLP&#xff09;中&#xff0c;…

c++第八天-多態

虛函數虛析構函數純虛函數與抽象類 多態實現的條件&#xff1a;&#xff08;1&#xff09;公有繼承 &#xff08;2&#xff09;派生類重寫基類虛函數 &#xff08;3&#xff09;基類指針/引用指向派生類對象 虛函數不能是構造函數&#xff0c;不能是靜態函數&#xff0c;不能…

全景圖渲染Vue3+TS使用Photo Sphere Viewer插件實現

1.Photo Sphere Viewer插件安裝: title=插件安裝 體驗AI代碼助手 代碼解讀復制代碼npm install photo-sphere-viewer -S 或 yarn add photo-sphere-viewer -S 2.原始全景圖展示 初始化標簽容器 體驗AI代碼助手 代碼解讀復制代碼 // 全景圖的根節點必須要具備寬高 TS引用,創建…

Redis之分布式鎖(3)

這篇文章我們來詳細介紹一下如何正確地基于Redis實現分布式鎖。 基于Redis的分布式鎖實現 組件依賴 首先通過Maven引入Jedis開源組件&#xff0c;在pom.xml文件加入下面的代碼&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId&g…

Java課堂筆記11

三個修飾符 一、abstract&#xff08;抽象&#xff09; 1.抽象方法只能在抽象的類里&#xff0c;只有方法的聲明&#xff0c;沒有方法的實現。&#xff08;沒有{}直接&#xff1b;結尾&#xff09;。 2.abstract修飾的類稱為抽象類。 注意&#xff1a;&#xff08;1&#x…

Linux 核心知識點整理(高頻考點版)

一、編譯與工具鏈 GCC 編譯流程 四階段&#xff1a;預處理&#xff08;-E&#xff0c;處理頭文件 / 宏&#xff09;→ 編譯&#xff08;-S&#xff0c;生成匯編&#xff09;→ 匯編&#xff08;-c&#xff0c;生成目標文件&#xff09;→ 鏈接&#xff08;生成可執行程序&…

輕量化社交管理方案:Skout與云手機的巧妙搭配

在移動社交時代&#xff0c;許多用戶開始嘗試通過多賬號管理來拓展社交圈層。近期測試了Skout社交平臺與亞矩陣云手機的搭配使用&#xff0c;發現這個組合為輕量級社交賬號管理提供了一個值得關注的解決方案。 基礎功能介紹 這套組合的核心優勢在于&#xff1a; 通過云手機實…

ETL連接器好用嗎?如何實現ETL連接?

目錄 一、ETL連接器的功能和優勢 1. 數據抽取能力 2. 數據轉換功能 3. 數據加載功能 4. 優勢總結 二、實現ETL連接的步驟 1. 需求分析 2. 選擇合適的ETL連接器 3. 配置數據源和目標系統 4. 設計ETL流程 5. 開發和測試ETL任務 6. 部署和監控ETL任務 三、ETL連接器在…