题目学习——HDUOJ-2669
来源:互联网 发布:阿里云服务器能升级吗 编辑:程序博客网 时间:2024/06/07 02:29
Romantic
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description
Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisfy X*a + Y*b = 1. If no such answer print "sorry" instead.
Input
The input contains multiple test cases.
Each case two nonnegative integer a,b (0<a, b<=2^31)
Each case two nonnegative integer a,b (0<a, b<=2^31)
Output
output nonnegative integer X and integer Y, if there are more answers than the X smaller one will be choosed. If no answer put "sorry" instead.
Sample Input
77 5110 4434 79
Sample Output
2 -3sorry7 -3
Author
yifenfei
#include <iostream>#include <cstdio>#define LL long long intusing namespace std;LL e_gcd(LL a,LL b,LL &x,LL &y){ if(b==0){ x=1; y=0; return a; } LL ans=e_gcd(b,a%b,x,y); LL temp=x; x=y; y=temp-a/b*y; return ans;}LL inv(LL a,LL m,LL c){ LL x,y; LL gcd=e_gcd(a,m,x,y); if(c%gcd!=0)return -1; m=c/gcd*m; if(m<0)m=-m; LL ans=x%m; if(ans<=0)ans=ans+m; return ans;}int main(){ LL a,b,x,y,ans; while(scanf("%lld%lld",&a,&b)!=EOF){ if((ans=inv(a,b,1))!=-1)printf("%lld %lld\n",ans,(1-ans*a)/b); else printf("sorry\n"); } return 0;}
阅读全文
0 0
- 题目学习——HDUOJ-2669
- 题目学习——hduoj-2136
- 题目学习——HDUOJ-1492
- 题目学习——HDUOJ-2674
- 课堂学习——HDUOJ-1215
- 课堂学习——HDUOJ-1452
- hduoj 题目分类
- HDUOJ题目分类
- hduoj题目详细分类
- hduoj题目分类
- HDUoj PBD 题目1703
- HDUOJ 无题 题目1871
- hduoj 排序 题目1106
- hduoj 4196 ——Remoteland
- BigNums——HDUOJ 1002
- BigNums——HDUOJ 1042
- BigNums——HDUOJ 1047
- BigNums——HDUOJ 1063
- 动态规划经典问题
- 短信验证
- caffe入门学习
- java用FTP实现上传、下载文
- java enum(枚举)使用详解 + 总结
- 题目学习——HDUOJ-2669
- 牛顿法与拟牛顿法学习笔记(三)DFP 算法
- compile vim
- Spring boot 与RestEasy结合
- 欢迎使用CSDN-markdown编辑器
- Shell编程面试题4_批量创建Linux用户并设置密码
- 一个aidl通信功能的重构
- SQL基础之多表连接查询
- 朴素贝叶斯 python 实现