博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1477: 青蛙的约会(exgcd)
阅读量:5058 次
发布时间:2019-06-12

本文共 989 字,大约阅读时间需要 3 分钟。

1477: 青蛙的约会

题目:

题解:

   一眼题,追及问题exgcd

   青蛙Rose在b点,一次跳a米。。。

   青蛙hanks_o在d点,一次跳c米

   那么YY:ax+b=cx+d (mod p) 

   化简:(a-c)x-p*y=d-b 

 

水代码:

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 typedef long long LL; 8 LL exgcd(LL a,LL b,LL &x,LL &y) 9 {10 if(a==0)11 {12 x=0;y=1;13 return b;14 }15 else16 {17 LL tx,ty;18 LL d=exgcd(b%a,a,tx,ty);19 x=ty-(b/a)*tx;20 y=tx;21 return d;22 }23 }24 int main()25 {26 LL A,B,C,D,L;27 scanf("%lld%lld%lld%lld%lld",&C,&D,&A,&B,&L);28 LL a=A-B,b=-L,sum=(D-C),x,y;29 LL d=exgcd(a,b,x,y);30 if(sum%d!=0)31 { 32 printf("Impossible\n");33 return 0;34 }35 x=((x*(sum/d))%(b/d)+(b/d))%(b/d);36 printf("%lld\n",x);37 return 0;38 }

 

转载于:https://www.cnblogs.com/CHerish_OI/p/8425775.html

你可能感兴趣的文章
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
你不得不了解的应用容器引擎---Docker
查看>>
easyui datagrid 弹出页面会出现两个上下滚动条处理办法!
查看>>
迭代器和生成器
查看>>
MYSQL分区表功能测试简析
查看>>
codevs 1080 线段树练习
查看>>
Spring AOP JDK动态代理与CGLib动态代理区别
查看>>
10.29_白岩松深大演讲,最强大脑
查看>>
JS模块化库seajs体验
查看>>
函数嵌套 与闭包
查看>>
StoreType.java 存储方式
查看>>
top命令详解 动态的监控网络状态
查看>>
Ext JS 4 Beta 1发布了
查看>>
项目vs2008转换到vs2010中的时候 "引发类型为“System.ExecutionEngineException”的异常。"...
查看>>
【图论】【二分图匹配】[POJ 1325]Machine Schedule
查看>>
C# ListView用法详解
查看>>
DOM操作应用
查看>>
作业五
查看>>
Linux命令:find
查看>>