对刚—约瑟夫环
背景:
我营营长一言不合就想干人,搞得整个营乌烟瘴气
题目描述:
这次,营长让n个同学按照编号1至n顺时针围成一圈,从一号开始顺时针报数,报到t的人直接被教官打死,拖到圈子外面,然后从他下一位同学接着开始报数,某位同学为了伸张正义,准备找教官对仗,顺便搞一个大新闻,为了有充分的时间准备,他决定站在最后一个被教官干掉的地方,你需要求出这是第几个位置。
输入描述:
一行两个数n,t
输出描述:
一行一个数表示答案
样例输入:
3 2
样例输出:
3
数据范围:
对于30%的数据,满足n≤100
对于100%的数据,满足n≤100000,1≤t≤100
思路:
用链表模拟,每次把报到t的人从链表中绕过。
#include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cstring> #include<cmath> using namespace std; #define N 1000009 int n,t,now,last; int nex[100009]; int main() { freopen("resist.in","r",stdin); freopen("resist.out","w",stdout); scanf("%d%d",&n,&t); for(int i=1;i<n;i++) nex[i]=i+1; nex[n]=1;now=n; for(int i=1;i<n;i++) { for(int j=1;j<=t;j++) last=now,now=nex[now]; nex[last]=nex[now]; } cout<<nex[now]; return 0; }
样例:
输入 10 2
输出 5
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App