zoj 3609
来源:互联网 发布:合并报表知乎 编辑:程序博客网 时间:2024/06/14 16:37
比赛的时候卡在这里,都是我没有把题目看懂,m=1的情况没考虑好,直接当不存在处理了==
下面给一种暴力法
不过时间也是很快的
#include<iostream>#include<cstdio>using namespace std;int t;int main(){int t,a,m,aa,ans,mm,i;scanf("%d",&t);while(t--){scanf("%d%d",&a,&m);if(m==1||a==1){printf("1\n");continue;}if(a%m==0||m%a==0){printf("Not Exist\n");continue;}for(i=1;i<m;i++){if(a*i%m==1){break;}}if(i==m){printf("Not Exist\n");}else{printf("%d\n",i);}}return 0;}
下面是我比赛时想的,因为m=1考虑出错,结果很悲剧
#include<iostream>#include<cstdio>using namespace std;int run(int a,int b){if(a<b){a^=b;b^=a;a^=b;}if(b==0) return a;return run(b,a%b);}int t;int main(){int t,a,m,aa,ans,mm;scanf("%d",&t);while(t--){scanf("%d%d",&a,&m);if(m==1||a==1){printf("1\n");continue;}if(a%m==0||m%a==0){printf("Not Exist\n");continue;}if(run(a,m)==1){if(a>m){aa=a;while(aa%m!=1){aa+=a;}ans=aa/a;}else{mm=m;while((mm+1)%a!=0){mm+=m;}ans=(mm+1)/a;}printf("%d\n",ans);}else{printf("Not Exist\n");}}return 0;}
- zoj 3609
- ZOJ 3609
- ZOJ-3609
- zoj 3609 Modular Inverse
- zoj 3609 ( Modular Inverse)
- ZOJ 3609 Modular Inverse
- ZOJ 3609 Modular Inverse
- ZOJ 3609 Modular Inverse
- ZOJ 3609 Modular Inverse
- ZOJ-3609 Modular Inverse
- ZOJ 3609 Modular Inverse
- ZOJ 3609Modular Inverse
- ZOJ 3609 Modular Inverse
- ZOJ-3609 Modular Inverse
- ZOJ 3609-Modular Inverse
- zoj 3609 Modular Inverse
- ZOJ
- ZOJ
- 浅析index condition pushdown
- 4_12_天天一记
- 2012腾讯实习笔试归来兮辞
- Java同步解决方案
- Myeclipse deploy 项目时 exploded archive模式 与 packaged archive模式区别
- zoj 3609
- 黑马程序员 C#统计一行字符串中各个字母出现的频率(不考虑大小写,不考虑其他字符)
- 关于Java调用Matlab程序
- 4_13_天天一记
- 基于Visual Studio2012实现Windows8的metro界面笔迹手写识别文档
- 用apache在局域网里其他用户访问IP来访问网站
- 浅析multi range read(MRR) & batch key access(BKA) & block nested loop(BNL)
- Trying to install an already registered mbean
- web UI 框架