hdu2104 hide handkerchief(模n剩余类加群生成元)
题意:
有 n n n个盒子,其中手帕可能在某一个盒子里。现在你在第一个盒子,给你一个 m m m,表示下次要找的位置间隔,即找完第1个盒子后,要找第 1 + m 1 + m 1+m个盒子,依次类推,这个过程是循换的。问你能否找到手帕。
思路:
上述题意就是问你能否访问全部的盒子。
很显然第一个盒子是一定会访问的,然后往后依次 + m +\ m + m去访问。
这个问题其实就是在说 m m m是否是模 n n n剩余类加群中的生成元(离散中又有讲哈,有疑问的自己翻离散课本去),其中第一个盒子显然就是幺元,给一个盒子编号为0,第二个盒子标号为1,…,第n个盒子标号为 n - 1。
设 G = G= G= ( n ‾ , + n ) (\underline{n},+_n) (n,+n)
假设 m m m是 n n n阶剩余类加群的生成元,那么 m ∈ G m\in G m∈G
那么 对于 ∀ h \forall h ∀h ∈ G \in G ∈G
都有 m p ≡ h ( m o d n ) m^{p} \equiv h\pmod{n} mp≡h(modn)
又 m p = p ∗ m m^p=p*m mp=p∗m,因为 h h h可以取G中任何一个元素,有 1 1 1一定是G的生成元,所以不妨假设 h = 1 h =1 h=1
即有
m ∗ p ≡ 1 ( m o d n ) m*p\equiv 1\pmod{n} m∗p≡1(modn)
那么此模线性方程有解当且仅当 ( m , n ) = 1 (m,n)=1 (m,n)=1
故 m m m为G的生成元 当且仅当 m m m与 ∣ G ∣ |G| ∣G∣互质。
得证。
还有,一定要认真读输入输出…不是的话输出"POOR Haha",不是NO…
A C C o d e : AC \ Code: AC Code:
#include<iostream>
#include<cstring>
#include<queue>
#include<map>
#include<cmath>
#include<set>
#include<stack>
#include<cstdio>
#include<sstream>
#include<vector>
#include<bitset>
#include<algorithm>
#include<unordered_map>
using namespace std;
#define read(x) scanf("%d",&x)
#define Read(x,y) scanf("%d%d",&x,&y)
#define gc(x) scanf(" %c",&x);
#define mmt(x,y) memset(x,y,sizeof x)
#define write(x) printf("%d\n",x)
#define pii pair<int,int>
#define INF 0x3f3f3f3f
#define ll long long
const int N = 100000 + 100;
const int M = 3e6 + 1005;
typedef long long LL;
int gcd(int a,int b){if(b) return gcd(b,a%b);else return a;
}
int main(){int n,m;while(scanf("%d%d",&n,&m) == 2&&(n!=-1&&m!=-1)){if(gcd(n,m) == 1) {puts("YES");}else puts("POOR Haha");}
}
hdu2104 hide handkerchief(模n剩余类加群生成元)相关推荐
- HDU 2104 hide handkerchief
题目HDU 2104:http://acm.hdu.edu.cn/showproblem.php?pid=2104 Problem Description The Children's Day has ...
- php 跳转qq群代码_PHP小脚本~QQ免KEY值加群
加群链接需要 idkey 的,该源码自动解析 idkey,实现免 idkey 加群. 不保证长时间有用~有兴趣的试试看哦~ PS:你要问有啥用?????答案:没啥用! 好了!代码奉上! /*免 IDK ...
- hdu hide handkerchief
hide handkerchief Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 【HDU - 2104】hide handkerchief (素数)
题干: The Children's Day has passed for some days .Has you remembered something happened at your child ...
- OC 应用跳转QQ私聊界面或者申请加群
申请加群 NSString *qq_number = QQ;NSString* urlStr = [NSString stringWithFormat:@"mqqapi://card/sho ...
- QQ 一键加群、扫二维码加群 - 腾讯官方API文档接入
QQ 一键加群.扫二维码加群 - 腾讯官方API文档接入 QQ一键加群功能,腾讯API生成链接和二维码等等 获取地址:腾讯官方API文档接口 使用方法:引入对应的链接即可 这里有生成图片.二维码的功效 ...
- php开源qq群,QQ群免IDKEY加群PHP源码
这篇文章上次修改于 18696 天前,可能其部分内容已经发生变化,如有疑问可询问作者. 加群链接需要idkey的,该源码自动解析idkey,实现免idkey加群. 该源码来自彩虹秒赞系统. 例如:你的 ...
- QQ群一键加群代码调用官方API
公用一键加群:https://api.mlwei.com/qun/?guin=259763410 PC端加群:https://api.mlwei.com/qun/?guin=259763410& ...
- Pc端微信加群的测试用例
Pc端微信加群的测试用例和5. app端微信加群的测试用例: 1.可发送信息:语音,文字,图片,表情,链接,字符及长度 2.聊天界面中的文字是否可复制,删除,收藏,翻译,头像,昵称显示 ...
最新文章
- FreeModbus 移植于STM32 实现Modbus RTU通信
- svg 转图标字体制作
- 数据结构2:中序线索化二叉树为什么要通过pre设置后继结点
- 谷歌 chrome 浏览器开发者工具打不开的解决方法
- Druid 内置Filter配置
- Android Studio添加aar
- Android开发之动态添加控件
- mysql5.7 solo web服务器
- 上篇 | 如何设计一个多轮对话机器人
- [LeetCode]题解(python):086-Partition List
- mysql启动错误处理
- Phoenix使用注意事项以及跟标准sql的不同
- Windows下 OpenCV 的下载安装教程(详细)
- word为什么前面空白但是字上不去?
- Pythonic写法
- 判断闰年(YZOJ-1045)
- Abp vnext Web应用程序开发教程 2 —— 图书列表页面
- 移动硬盘无法被识别怎么办?
- 修改安卓系统应用,将自己的app变成系统应用(需要root)
- 【大数据之Hadoop3.x】
热门文章
- 如何做好人才盘点?企业需要从这五个方面入手
- matlab高级编程 苏金明,MATLAB高级编程
- 大语言模型的最新研究方向综述
- 苹果手机键盘html代码大全,CSS_CSS3制作苹果风格键盘特效,效果预览:html标签:- phpStudy...
- 使用 Apache PDFBox 操作PDF文件
- 时间范围选择器默认开始时间前5天,前5年,前5月
- 取消默认事件和绑定默认事件
- 和平精英奇葩吃鸡操作,帮你苟到最后轻松吃鸡
- 面向对象设计的七大设计原则详解
- flutter录音_Flutter直播SDK怎么使用?5步快速开发直播应用