DS题目汇编

一、

二、表2-8洗盘子

代码

cpp 复制代码
#include <stdio.h>
# define MAXSIZE 50005
int pigs[MAXSIZE];
int lucky_pigs[3005];
void find_luck(){
    int n=0;
    for(int i=2;i<MAXSIZE;i++) pigs[n++]=i;
    int cnt=0;
    while(cnt<=3000){
        int head=pigs[0];
        lucky_pigs[cnt++]=head;
        int newn=0;
        int pos=0;
        for(int i=1;i<n;i++){
            pos++;
            //删除位置满足pos % head == 0。
            if(pos%head!=0){
                pigs[newn++]=pigs[i];//把没被删除的元素往前挪 
            }
        }
        n=newn;
    }
}
int main(){
    int t,x;
    find_luck();
    scanf("%d",&t);
    while(t--){
        scanf("%d",&x);
        printf("%d\n",lucky_pigs[x-1]);
    }
    return 0;
}
相关推荐
2013编程爱好者4 小时前
计算时间复杂度
c++·算法·排序算法
西阳未落5 小时前
LeetCode——双指针(进阶)
c++·算法·leetcode
暴力求解6 小时前
c++类和对象(下)
开发语言·c++·算法
艾莉丝努力练剑6 小时前
【Linux指令 (二)】不止于入门:探索Linux系统核心与指令的深层逻辑,理解Linux系统理论核心概念与基础指令
linux·服务器·数据结构·c++·centos
Mr_WangAndy6 小时前
C++设计模式_结构型模式_外观模式Facade
c++·设计模式·外观模式
FreeBuf_6 小时前
Happy DOM曝CVSS 9.4严重RCE漏洞,PoC已公开(CVE-2025-61927)
java·c语言·c++·python·php
BlackQid6 小时前
深入理解指针Part4——字符、数组与函数指针变量
c++·后端
Vect__7 小时前
从底层到上层的“外挂”:deque、stack、queue、priority_queue 全面拆解
数据结构·c++
草莓熊Lotso7 小时前
C++ 手写 List 容器实战:从双向链表原理到完整功能落地,附源码与测试验证
开发语言·c++·链表·list