当前位置: 首页 > 编程日记 > 正文

主要的约瑟夫环问题

解说


http://poj.org/problem?id=3517



n个人,编号为1~n。每次从1開始数,数到m的人出圈。最后一个出圈的人的编号。


f[1] = 0;
for(int i = 2; i <= n; i++)
{f[i] = ( f[i-1] + m)%i;
}
printf("%d\n",f[n]+1);


这里第一次出圈的人的编号是m,然后从1開始数,每次数到k的人出圈,问最后出圈的人的编号。

注意递推顺序

#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#define LL long long
#define _LL __int64
#define eps 1e-12
#define PI acos(-1.0)
#define C 240
#define S 20
using namespace std;
const int maxn = 100010;int main()
{int n,k,m;int f[10010];while(~scanf("%d %d %d",&n,&k,&m)){if(n == 0 && k == 0 && m == 0)break;int i;f[1] = 0;for(i = 2; i < n; i++)f[i] = (f[i-1]+k)%i;f[n] = (f[n-1]+m)%n;printf("%d\n",f[n]+1);}return 0;
}


http://poj.org/problem?id=2244


与上题类似,第一个出圈的是第一个人,之后出圈的是报数为m的人。求最小的m使得最后一个人的编号为2。

直接枚举m就可以,当求得最后一个人的编号为2时,m就是答案。


#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#define LL long long
#define _LL __int64
#define eps 1e-12
#define PI acos(-1.0)
#define C 240
#define S 20
using namespace std;int f[155];
int n;int solve(int m)
{f[1] = 0;for(int i = 2; i < n; i++)f[i] = (f[i-1]+m)%i;f[n] = (f[n-1]+1)%n;if(f[n]+1 == 2)return true;return false;
}int main()
{while(~scanf("%d",&n)&&n){for(int m = 1; ; m++){if(solve(m)){printf("%d\n",m);break;}}}return 0;
}


转载于:https://www.cnblogs.com/jzssuanfa/p/6963347.html

相关文章:

CSS之复合选择器(交集、并集选择器)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>/*将class为red的元素设置为红色*/.red{color: red;}/*将class为red的div字体大小设置为30px*//*1、交集选择器作用&#xff1a;选中同时复合多…

SAP有用的知识(持续更新)

一、安装SAP 1.1、产品可用性矩阵&#xff08;Product Availability Matrix&#xff09; SAP官网-Maintenance-Product Availability Matrix&#xff0c;点击页面的Access the Product Availability Matrix。 选中你公司授权的商品&#xff08;Licensed Products&#xff09…

【目标检测】yolo系列:从yolov1到yolov5之YOLOv2详解及复现

YOLO v2 Yolov2论文链接&#xff1a;YOLO9000: Better, Faster, Stronger yolov2的改进 从Yolov2论文的标题可以直观看到就是Better、Faster、Stronger。Yolov1发表之后&#xff0c;计算机视觉领域出现了很多trick&#xff0c;例如批归一化、多尺度训练等等&#xff0c;v2也…

我有一个很好的思维习惯-反思

和我共事过的同事有的会说我聪明&#xff0c;我就暂且当做是夸奖吧&#xff0c;其实我并不是聪明&#xff0c;只是有一个思维习惯。做事过程中或者做完一件事之后会反思这个过程&#xff0c;有哪些地方我是重复操作的&#xff0c;有没有什么地方可以简化流程的&#xff0c;这应…

CSS之关系选择器(子元素、后代、兄弟选择器)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>/*为div的子元素span设置一个字体颜色*//*子元素选择器&#xff1a;作用&#xff1a;选中指定父元素的指定子元素语法&#xff1a;父元素>子…

网络管理员比赛回顾01-基本操作和简单vlan

目录 一、模拟器eNSP 二、基本操作 三、配置IP地址 四、VLAN 一、模拟器eNSP 使用eNSP模拟器&#xff0c;来源于网络上的安装包&#xff0c;学习一个。基本操作就不多说了&#xff0c;在实践里慢慢记录 二、基本操作 认识3种视图&#xff1a;用户视图、系统视图、接口视…

【Leetcode】刷题之路3(python版)

回溯专题 1.回溯算法的本质是n叉树的深度优先搜索&#xff0c;同时&#xff0c;需要注意剪枝减少复杂度。 2.回溯算法三部曲 确定参数和返回值回溯函数终止条件单层循环 3.回溯法思路 回溯法是一种算法思想&#xff0c;而递归是一种编程方法&#xff0c;回溯法可以用递归来…

Luogu 4438 [HNOI/AHOI2018]道路

$dp$。 这道题最关键的是这句话&#xff1a; 跳出思维局限大胆设状态&#xff0c;设$f_{x, i, j}$表示从$x$到根要经过$i$条公路&#xff0c;$j$条铁路的代价&#xff0c;那么对于一个叶子结点&#xff0c;有$f_{x, i, j} c_x * (a_x i) * (b_x j)$&#xff0c;对于内部结点…

52深入理解C指针之---不透明指针

该系列文章源于《深入理解C指针》的阅读与理解&#xff0c;由于本人的见识和知识的欠缺可能有误&#xff0c;还望大家批评指教。一、size_t&#xff1a;用于安全表示长度&#xff0c;所有平台和系统都会解析成自己对应的长度    1、定义&#xff1a;size_t类型表示C中任何对…

CSS之布局(文档流)

文档流&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>文档流</title><style>.box1{background-color: yellow;}</style></head><body><!--文档流&#xff08;normal fl…

网络管理员比赛回顾02-网关、静态路由、动态路由

目录 一、配置网关 二、配置静态路由 三、配置动态路由 3.1、使用RIP协议配置动态路由 3.2、使用OSPF协议配置动态路由 2021年9月参加青年网络管理员比赛&#xff0c;因为网管超龄不能按照“青年”参赛&#xff0c;临时培训我们这批“青年”参赛&#xff0c;回顾一下经过以…

[模拟]纺车的轮子 Spinning Wheels

题目链接 题目大意 5个轮子 每个轮子上面有w个缺口 缺口的初始角度是n 宽度是m 每秒转速v 求当他们同时开始转的情况下&#xff0c;什么时候他们的缺口足以让一道阳光通过&#xff08;就是有重叠部分&#xff09; 思考 纯模拟题目没啥说的&#xff0c;就是模拟轮子转1S 2S 3S .…

从头理解self-attention机制

注意力机制中较为重要的是self-attention机制&#xff0c;直接做了个小白能看懂的总结&#xff0c;也便于自己复习。 简介 self-attention机制就是想实现一连串的特征编码&#xff0c;两两之间的互相注意。有一串特征编码&#xff0c;x1, x2, …, xn&#xff0c;这里x1 x2 ……

筛选法求N以内的所有素数

素数&#xff1a;一个数只能被1和它本身整除的数。2是最小的素数#include <iostream> using namespace std; #define NUM 100 char isPrime[NUM 10]; int main() {//筛选法求素数//假设所有的素数都是素数&#xff0c;标志位设为1for(int i 2 ; i < NUM ; i){isPrim…

CSS之布局(盒模型)

盒模型&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒模型</title><style>.box1{/* 内容区(content),元素中的所有的子元素和文本内容都在内容区中排列内容区的大小由width和height两个属性来…

SAP创建webservice

目录 一、创建webservice 二、更改webservice 三、SoapUI测试webservice 四、查看webservice日志及排错 一、创建webservice 以用户相关的函数User为例创建webservice&#xff0c;事务码bapi查看bapi函数&#xff0c;BasisComponents-Security-User&#xff0c;选择Tools…

python面试题目

python面试题目 原文地址&#xff1a;https://www.usblog.cc/blog/post/justzhl/b5cc9a05c7d2 问题一&#xff1a;以下的代码的输出将是什么? 说出你的答案并解释。 ?1234567891011121314class Parent(object):x 1class Child1(Parent):passclass Child2(Parent):passprint …

vue2留言板

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>智能社——http://www.zhinengshe.com</title><meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum…

【目标检测】yolo系列:从yolov1到yolov5之YOLOv3详解及复现

在v1、v2的原理和技巧介绍之后&#xff0c;v3除了网络结构&#xff0c;其余的改变并不多。本文着重描述yolov3的原理细节。 相关阅读&#xff1a; 论文&#xff1a;YOLOv3: An Incremental Improvement 源码&#xff1a;https://github.com/ultralytics/yolov3 1. Yolov3网络…

CSS之布局(盒子模型—边框)

盒子模型—边框&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型-边框</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;/*border-width可以用来指定四个方向的…

SAP事务码f-02做账界面显示“页数”字段

事务码 f-02 做账界面&#xff0c;没有显示页数。 用户账号的参数添加 CSF &#xff08;Country-Specific Fields&#xff09;参数&#xff0c;参数值为 CN&#xff08;伟大的China&#xff09; 再次来到 f-02 的界面&#xff0c;显示了页数字段

【Leetcode】刷题之路4(python版)

接上章回溯专题&#xff0c;本章挑选了分割问题、子集问题、排列问题。 分割问题 131.分割回文串93.复原IP地址 子集问题 78.子集90.子集II 排列问题 46.全排列47.全排列II 分割问题 我们来分析一下切割&#xff0c;其实切割问题类似组合问题。 例如对于字符串abcdef&#…

织梦文章内容屏蔽替换词语多个敏感字词

后台-系统-基本参数-互动设置-替换词语&#xff0c;这个是用于评论和会员投稿&#xff0c;网站后台添加的文章是不受制于这里的&#xff0c;我们可以直接在模板标签里runphp字符串替换 文章内容页标签写法 {dede:field.body runphpyes} global $cfg_replacestr; me preg_repla…

CSS之布局(盒子模型--内边距)

盒子模型--内边距&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型--内边距</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;border: solid 10px orange;/*内边…

网络管理员比赛回顾04-DHCP

目录 一、DHCP的配置 二、DHCP中继 2021年9月参加青年网络管理员比赛&#xff0c;因为网管超龄不能按照“青年”参赛&#xff0c;临时培训我们这批“青年”参赛&#xff0c;回顾一下经过以及学到的技能。本节回顾DHCP。 一、DHCP的配置 简单的启用一个DHCP功能。 <Huawe…

iOS-禁止scrollview垂直方向滚动,只允许水平方向滚动;或只允许垂直方向滚动...

禁止UIScrollView垂直方向滚动&#xff0c;只允许水平方向滚动 scrollview.contentSize CGSizeMake(你要的长度, 0); 禁止UIScrollView水平方向滚动&#xff0c;只允许垂直方向滚动 scrollview.contentSize CGSizeMake(0, 你要的宽度); 转载于:https://www.cnblogs.com/S…

go1.8之安装配置

说明&#xff1a; 之前学习过go语言&#xff08;大概是0.9版本&#xff09;&#xff0c;后来更新太快&#xff0c;也没怎么使用&#xff0c;就荒废掉了&#xff0c;今年有项目需要用go开发&#xff0c;重新捡起。 这是我在学习go语言过程中整理的内容&#xff0c;这里记录下&am…

栈和队列在python中的实现

栈和队列是两种基本的数据结构&#xff0c;同为容器类型&#xff0c;队列是先进先出&#xff0c;栈是先进后出。 栈 栈提供 push 和 pop 等等接口&#xff0c;所有元素必须符合先进后出规则&#xff0c;所以栈不提供走访功能&#xff0c;也不提供迭代器(iterator)。 不像是set…

CSS之布局(盒子模型--外边距)

盒子模型--外边距&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型--外边距</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;border: solid 10px orange;/*外边…

SAP Netweaver 7.4 SR2 Application Java Installation

记录一下SAP Netweaver 7.4 Support Release 2 Application Server Java的安装过程。 一、下载 写本文时&#xff0c;SAP Netweaver 7.4 SR2 已经过了生命周期&#xff0c;直接去SAP Download Center 是找不到这个版本的。但是可以去 Maintenance > Product Availability …