BZOJ2976 : [Poi2002]出圈游戏】的更多相关文章

Description 有编号从1到n的n个小朋友在玩一种出圈的游戏,编号为i+1的小朋友站在编号为i小朋友左边.编号为1的小朋友站在编号为n的小朋友左边.首先编号为1的小朋友开始报数,接着站在左边的小朋友顺序报数,直到数到某个数字K时就出圈.直到所有的小朋友都出圈,则游戏完毕.游戏过程如下图所示. Input 第一行有一个正整数n, 2 <= n <= 20,第二行有n 个整数其中第i个整数表示编号为i 的小朋友第i个出圈. Output 求最小的K,如果不存在,则输出一个单词“NIE” S…
首先模拟一遍得到n个同余方程,然后用扩展欧几里得求出最小的可行解即可,时间复杂度$O(n^2)$. #include<cstdio> #define N 30 int n,i,j,k,x,y,a[N],b[N],d[N],ans; namespace Solve{ int flag=1,k=1,m=0,d,x,y; int exgcd(int a,int b,int&x,int&y){ if(!b)return x=1,y=0,a; int d=exgcd(b,a%b,x,y)…
2976: [Poi2002]出圈游戏 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2976 Description Input 中第一行有一个正整数n, 2 <= n <= 20,第二行有n 个整数其中第i个整数表示编号为i 的小朋友第i个出圈. Output 求最小的K,如果不存在,则输出一个单词"NO" Sample Input 4 1 4 2 3 Sample Output 5 Hint 题意 题解:…
人数很少,可以直接用 $set$ 来模拟人的情况. 然后就能得到若干个方程,用 $excrt$ 进行合并即可. #include <set> #include <cmath> #include <cstdio> #include <algorithm> #define N 23 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using n…
1.  报数游戏 问题描述: 设有N 个人围坐一圈并按顺时针方向从1 到N 编号,从第S个人开始进行1 到M报数,报 数到第 M个人时,此人出圈,再从他的下一个人重新开始1 到 M的报数,如此进行下去直 到所有的人都出圈为止.现要打印出出圈次序. 要求实现函数: void circle_sort (int n, int s, int m, int *p) 输入:n 游戏总人数  s 报数的起始编号  m 报数的数值 输出:p 指向长度为n的数组,出圈次序保存在 p指向的数组中 示例 n=7 s=…
链接:https://ac.nowcoder.com/acm/contest/635/D来源:牛客网 D.绕圈游戏 433为了帮ddd提升智商,决定陪他van特殊的游戏.433给定一个带有n个点的环,游戏从1号点开始,433选择任意一个K值(1<=K<=n),意味着ddd可以每次前进K个单位,当ddd再次到达1号点时游戏结束.智商为负数的ddd并不觉得这有什么难度,这时433一脸坏笑的告诉ddd,游戏的真正目的是:有任意K,满足1<=K<=n,求从开始到结束的所有情况的点数和.例如…
package cn.magicdu.algorithm; import java.util.LinkedList; import java.util.List; /** * 出圈问题,数到某个数字的倍数就出圈,打印最后剩下的元素的原来位置 * * @author xiaoduc * */ public class Circle { public static void main(String[] args) { System.out.println("剩下元素原来的位置"+cycle…
题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. Scanner scanner = new Scanner(System.in); int len = scanner.nextInt(); boolean[] arr = new boolean[len]; for (int i = 0; i < arr.length; i++) { arr[i] = true; //初始化全部在圈内 } int index = 0;…
<?php/** * [猴子选大王] * @param  [type] $m [猴子数] * @param  [type] $n [出局次数] * @return [type]    [description] *///echo "1";function monkey($m,$n){    //定义一个数组    for($i=1;$i<$m+1;$i++){         $arr[]=$i;    }    //数组里的任意一个数    // $arr=rand(1,…
/************************************************************************* > File Name: only_one.c > Author: > Mail: > Created Time: Thu 01 Nov 2018 09:21:50 AM CST ************************************************************************/ #inc…