CSP-201712-2-游戲

CSP-201712-2-游戲

解題思路

  1. 初始化變量:定義整數變量nk,分別用來存儲小朋友的總數和淘汰的特定數字。然后定義了num(用來記錄當前報的數)和peopleIndex(用來記錄當前報數的小朋友的索引)。

  2. 初始化小朋友數組:通過一個循環,創建一個peopleArr數組,這個數組中的每個元素代表一個小朋友的編號,從1到n。

  3. 游戲邏輯處理:使用一個while循環來模擬報數和淘汰過程。這個循環會一直執行,直到只剩下一個小朋友(即peopleArr的大小變為1)。

  4. 淘汰規則:在每次循環中,首先檢查當前報的數(num)是否滿足淘汰條件:如果numk的倍數或者num的個位數等于k,那么當前報數的小朋友就會被淘汰。如果滿足淘汰條件,使用erase方法從peopleArr中移除當前小朋友,并且人數n減一。如果被淘汰的是當前隊列的最后一個人,則peopleIndex會通過% n自動回到隊列開頭。

  5. 更新報數和索引:如果當前小朋友沒有被淘汰,那么報數索引peopleIndex將向前移動一位(考慮到循環隊列,所以使用% n)。不管是否淘汰,每次循環結束時報數num都會遞增。

完整代碼

#include<iostream> 
#include<vector>
using namespace std;
int main() {int n, k;cin >> n >> k;int num = 1, peopleIndex = 0;vector<int>peopleArr(n);// 人員編號for (int i = 0; i < n; i++){peopleArr[i] = i + 1;}while (true){if (peopleArr.size() == 1) // 終止條件:只剩一個人{break;}if (num % k == 0 || num % 10 == k) { // 淘汰規則peopleArr.erase(peopleArr.begin() + peopleIndex); // 移除隊伍n--; // 總人數-1peopleIndex = peopleIndex % n; // 更新循環隊列}else{peopleIndex = (peopleIndex + 1) % n; // 更新循環隊列}         num++; // 報數+1}cout << peopleArr[0];return 0; 
}

請添加圖片描述

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

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

相關文章

MATLAB環境下基于離散小波變換的體外血管圖像處理

下面簡要介紹小波變換的部分應用。 信號去噪。小波去噪是根據有效信號和噪聲信號在小波變換后表現出的不同特性實現的&#xff0c;一般可用于去除語音、圖像、視頻等中的噪聲信號。小波去噪方法根據對小波系數的非線性處理方式分為三類&#xff0c;分別是小波變換模極大值去噪…

電子電器架構新趨勢 —— 最佳著力點:域控制器

電子電器架構新趨勢 —— 最佳著力點&#xff1a;域控制器 我是穿拖鞋的漢子&#xff0c;魔都中堅持長期主義的汽車電子工程師&#xff08;Wechat&#xff1a;gongkenan2013&#xff09;。 老規矩&#xff0c;分享一段喜歡的文字&#xff0c;避免自己成為高知識低文化的工程師…

備戰藍橋杯---狀態壓縮DP基礎1之棋盤問題

它只是一種手段&#xff0c;一種直觀而高效地表示復雜狀態的手段。 我們先來看一道比較基礎的&#xff1a; 直接DFS是肯定不行&#xff0c;我們發現對某一行&#xff0c;只要它前面放的位置都一樣&#xff0c;那么后面的結果也一樣。 因此我們考慮用DP&#xff0c;并且只有0/…

Vue3+Element-Plus中ELMessage樣式丟失處理

Vu3Element-Plus項目中,element-plus使用按需引入有時會出現樣式失效和在vscode中使用會報錯[找不到名稱“ElMessage”。ts(2304)]錯誤 ELMessage彈框樣式丟失處理方法 使用按需引入就不能手動再引入 import { ElMessage } from "element-plus";ElMessage.success…

藍橋杯-單片機組基礎6——定時計數器與外部中斷混合使用(附小蜜蜂課程代碼)

藍橋杯單片機組備賽指南請查看這篇文章&#xff1a;戳此跳轉藍橋杯備賽指南文章 本文章針對藍橋杯-單片機組比賽開發板所寫&#xff0c;代碼可直接在比賽開發板上使用。 型號&#xff1a;國信天長4T開發板&#xff08;綠板&#xff09;&#xff0c;芯片&#xff1a;IAP15F2K6…

常見的瀏覽器跨域解決方法

1. 前端方法&#xff1a;JSONP&#xff08;僅適用于GET請求&#xff09; JSONP&#xff08;JSON with Padding&#xff09;是一種利用<script>標簽的src屬性不受同源策略限制的特性來實現跨域數據請求的方法。JSONP通過在前端動態創建<script>標簽&#xff0c;并將…

4.1.CVAT——目標檢測的標注詳細步驟

文章目錄 1. 進入任務1. 創建任務2. 已創建的task3. 進入標注界面 2. 選擇標注類型2.1 選擇標注類型2.2 進行標注2.3 遮擋 2.快捷鍵3.導出標注結果 1. 進入任務 登錄后會看到如下圖界面&#xff0c;CVAT的標注最小單位是Task&#xff0c;每個Task為一個標注任務。點擊Task按鈕…

[法規規劃]國家數據局局長劉烈宏《激活數據要素價值》演講要點解析

國家數據局黨組書記、局長劉烈宏在北大光華論壇上發表了題為《激活數據要素價值》的演講&#xff0c;當時曾極大推動了市場熱度&#xff0c;引發了行業思考。現在演講過去了一段時間&#xff0c;但是溫故而知新&#xff0c;我們不妨結合演講之后的市場反應&#xff0c;回顧一下…

蚓鏈數字化快速轉型五步

數字化轉型對于許多企業來說是一個頭痛的問題&#xff0c;因為他們可能感到缺乏明確的方向和方法。不過&#xff0c;蚓鏈數字化生態系統提出了一套快速轉型五步法&#xff0c;旨在幫助企業明確目標、建立團隊、設計權益、提供思維和方法&#xff0c;并共享生態資源&#xff0c;…

【java任意文件漏洞修復,使用文件魔數解決】

java任意文件漏洞修復&#xff0c;使用文件魔數解決 背景&#xff1a; 客戶進行滲透測試&#xff0c;驗證上傳文件的程序沒有對上傳文件作任何過濾&#xff0c;導致可以上傳任意文件到服務器&#xff0c;甚至是病毒文件和Webshell木馬文件。 解決辦法&#xff1a;對于上傳的附件…

html基本標簽

<h1></h1> <p></p> h是標簽從h1~h6&#xff0c;沒用h7,h8 p是段落 <a href"https://www.educoder.net">Educoder平臺</a> href可以指定鏈接進行跳轉 <img src"https://www.educoder.net/attachments/download/2078…

【論文精讀】DALLE: Zero-Shot Text-to-Image Generation零樣本文本到圖像生成

文章目錄 一、前言二、摘要三、方法&#xff08;一&#xff09;主要目標&#xff08;二&#xff09;stage 1&#xff1a;訓練離散變分自動編碼器&#xff08;dVAE&#xff09;&#xff08;三&#xff09;stage 2&#xff1a;訓練自回歸轉換器&#xff08;四&#xff09;公式表達…

「優選算法刷題」:最后一塊石頭的重量

一、題目 有一堆石頭&#xff0c;每塊石頭的重量都是正整數。 每一回合&#xff0c;從中選出兩塊 最重的 石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#xff1a; 如果 x y&#xff0c;那么兩塊石頭…

Flutter開發之CupertinoApp

Flutter開發之CupertinoApp 最近由于使用Flutter編程更多&#xff0c;使用Flutter更順手&#xff0c;相對于其他前端框架來說&#xff0c;Flutter在跨平臺、響應式UI、自繪引擎、即插即用的組件和龐大的社區生態支持方面有更大的優勢&#xff1b;Flutter擁有更低的學習成本&am…

2024牛客寒假算法基礎集訓營5 H sakiko的排列構造(hard)個人補題o(╥﹏╥)o

sakiko要構造一個長度為 nnn 的排列 ppp &#xff0c;使得每一個 pii (1≤i≤n)p_ii\ (1\leq i\leq n)pi?i (1≤i≤n) 都是質數。 排列的定義為&#xff1a;長度為 nnn 的數組&#xff0c;其中 1?n1-n1?n 每個數字在數組中各出現一次。 輸入描述: 第一行輸入一個整數 n(1…

gpt批量工具,gpt批量生成文章工具

GPT批量工具在今天的數字化時代扮演著越來越重要的角色&#xff0c;它們通過人工智能技術&#xff0c;可以自動批量生成各種類型的文章&#xff0c;為用戶提供了便利和效率。本文將介紹5款不同的GPT批量工具&#xff0c;并介紹一款知名的147GPT生成工具&#xff0c;以及另外一款…

c++/c圖的鄰近矩陣表示

#include<iostream> using namespace std;#define MaxVerterNum 100 typedef char VerterType; typedef int EdgeType; typedef struct {VerterType vexs[MaxVerterNum]; // 存儲頂點EdgeType edges[MaxVerterNum][MaxVerterNum]; // 存儲鄰接矩陣int n, e; // 頂點數和邊…

JVM堆內存中新生代晉升到老年代的條件

1. 一般年齡判斷 當對象在Eden區中經過第一次 Minor GC 后&#xff0c;如果仍然存活&#xff0c;則會被移動到 From Survivor 區&#xff0c;并且對象的年齡設為 1。每經過一次 Minor GC&#xff0c;存活下來的對象年齡加 1&#xff0c;若存活對象在 From Survivor 區的年齡達…

netlink原理及應用

什么是netlink netlink是一種基于網絡的通信機制&#xff0c;允許內核內部、內核與用戶態應用之間甚至用戶態應用之間進行通信&#xff1b;netlink的主要作用是內核與用戶態之間通信&#xff1b;它的思想是&#xff0c;基于BSD的socket使用網絡框架在內核和用戶態之間進行通信…

GaussDB跨云容災:實現跨地域的數據庫高可用能力

背景 金融、銀行業等對數據的安全有著較高的要求&#xff0c;同城容災建設方案&#xff0c;在絕大多數場景下可以保證業務數據的安全性&#xff0c;但是在極端情況下&#xff0c;如遇不可抗力因素等&#xff0c;要保證數據的安全性&#xff0c;就需要采取跨地域的容災方案。 …