首先模拟一遍得到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),t=x;return x=y,y=t-a/b*y,d;
}
void add(int a,int r){if(!flag)return;d=exgcd(k,a,x,y);if((r-m)%d){flag=0;return;}x=(x*(r-m)/d+a/d)%(a/d),y=k/d*a,m=((x*k+m)%y)%y;if(m<0)m+=y;k=y;
}
int ans(){if(!flag)return 0;return m?m:k;
}
}
int main(){scanf("%d",&n);for(i=1;i<=n;i++)a[i]=i,scanf("%d",&x),b[x]=i;for(y=1,i=n;i>1;i--){x=b[n-i+1];Solve::add(i,((a[x]-a[y]+1)%i+i)%i);for(d[x]=1,k=0,j=1;j<=n;j++)if(!d[j])a[j]=++k;for(y=x;d[j];)if((++y)>n)y=1;}if(ans=Solve::ans())printf("%d",ans);else puts("NIE");return 0;
}

  

转载于:https://www.cnblogs.com/clrs97/p/4732796.html

BZOJ2976 : [Poi2002]出圈游戏相关推荐

  1. c语言出圈游戏课设报告,c语言作业 出圈游戏

    #include//头函数 #include #include #define SIZE 100 struct SeqList{ int num; char name[10]; }; int menu ...

  2. C语言之出圈游戏(详解)

    PTA7-5 出圈游戏 用指针实现以下功能:有n个人围成一个圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号. (1)编程提示 每三个人离开,置为0: ...

  3. 出圈c语言,c语言作业 出圈游戏

    #include//头函数 #include #include #define SIZE 100 struct SeqList{ int num; char name[10]; }; int menu ...

  4. 出圈游戏c语言用指针求,出圈游戏程序设计.doc

    出圈游戏程序设计.doc 存档资料 成绩 华东交通大学课 程 设 计 报 告 书所属课程名称C程序设计题 目出圈游戏的程序设计院 (系)信息工程学院班 级通信一班学号20140610080126学生姓 ...

  5. c语言程序设计 出圈游戏,出圈游戏程序及设计.doc

    出圈游戏程序及设计 存档资料 成绩: 华东交通大学 课 程 设 计 报 告 书 所属课程名称C程序设计题 目出圈游戏的程序设计院 (系)信息工程学院班 级通信一班学 号20140610080126学生 ...

  6. 7-4 出圈游戏 (c 语言)PTA

    实验八 结构体与其他构造类型 一.实验目的 掌握结构体变量的定义和引用. 掌握结构体数组和结构体指针的使用. 培养使用结构体解决实际问题的能力. 二.实验内容 4.m 个人围成一个圈,从第一个人开始顺 ...

  7. c语言程序 出圈游戏,【出圈】 (C语言代码)

    解题思路:        简单易懂 建立一个数组,每次山区轮到的数字 后面的数字一次往前,最后打印出剩下的数字 注意事项:为了避免混乱  数组直接从1 开始 参考代码: #include int ma ...

  8. Unity “出圈”:游戏引擎的技术革新和跨界商机

    日前,<王者荣耀>在其五周年盛典上宣布已达到1亿日活跃用户,成为了名副其实的"国民游戏".鲜有人知的是,实力巨作<王者荣耀>的背后是来自全球领先的实时 3D ...

  9. 绕圈报数游戏Java算法_经典游戏(围圈数数,数到3者出圈,求最后幸存者)

    [java]代码库import java.util.Scanner; /** * 约瑟夫问题 * 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,下个人继续开始从 ...

最新文章

  1. CodeForces - 1267A Apprentice Learning Trajectory(贪心)
  2. python sdk怎么用_如何使用七牛Python SDK写一个同步脚本及使用教程
  3. html中左侧播放器插件,简洁实用的html5音乐播放器插件
  4. Mysql 允许所有IP访问
  5. Linux环境下Tomcat部署Solr4.x
  6. 【付费毕设】php mysql社团报名管理系统
  7. webpack官方文档分析(一):安装
  8. 图灵程序设计丛书 算法(第4版)pdf
  9. idea导入导出 settings 设置文件
  10. 流媒体之RTMP——librtmp推流测试
  11. python pandas 数据透视表_python 用pandas实现数据透视表功能
  12. 智能终端演绎IT产业大变革
  13. idea实现打包springboot项目并且运行在cmd中
  14. cisco思科 前言
  15. 成为软件架构师需要什么?
  16. SEO基础知识简介(一)
  17. 【高德LBS开源组件大赛】回眸微博的足迹
  18. 对Python语言课程的建议
  19. CCD工业相机电脑连接正常但无法采集图像的相关设置
  20. python报错ValueError: Found input variables with inconsistent numbers of samples: [x,y]

热门文章

  1. 使用PPMI改进共现矩阵
  2. C语言字符串倒排,C语言兑现简单的倒排文件索引
  3. Java 集合容器篇面试题(上)-王者笔记《收藏版》
  4. android 对话框 重复,如何在Android上重复使用AlertDialog for Yes / No?
  5. php任务分配思路_PHP执行定时任务的几种方法思路
  6. C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...
  7. Java throws和throw
  8. Java通过反射访问构造方法
  9. ndows10同时打印多份文档,Windows10如何同时重命名多个文件
  10. 计算机设计大赛国奖作品_2. 报名材料