【校内互测】Sunshine's book(找规律)
来源:互联网 发布:psd头像源码怎么使用 编辑:程序博客网 时间:2024/06/06 01:19
Sunshine’s book(book.cpp)
【问题描述】
宇宙金牌Sunshine是一个追求完美的人。有一天他觉得小F桌子上摆着的两摞书对于他来说并不完美,他想使它们的数量更加完美,于是他采用了以下方法:假设两摞书的数量分别是a和b(a<=b),那么他会从第二摞书中拿出a本放到第一摞书中。
也就是说书堆(a,b)(a<=b)会变成(a+a,b-a),a>b时类似。
为了使书堆变得完美,机智的Sunshine进行了k次操作。他想知道经过了k次操作之后数量较少的书堆里会有多少书,并且Sunshine大爷并不想给你太多内存,他认为那样并不完美。
【输入格式】
一行三个整数a,b,k。
【输出格式】
一个整数代表 k 次搬书后较少的那一堆有多少书。
【样例输入】
4 7 2
【样例输出】
5
【数据规模及约定】
对于30%的数据,k<=10^6
另外存在10%的数据,a=1
对于100%的数据a,b,k<=10^9,保证a<=b
———————————————————————————————————
【题解】【找规律】
【考虑a一次操作后会变成什么 (a<=b)a -> 2*a, (a>b) a -> a-b = 2*a-(a+b)
综上:a -> 2*a%(a+b)】
【所以,进行K次变换,就是a'=2^k*a%(a+b),b'=a+b-a',取min即可】
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long a,b,k;long long poww(int x,long long q,long long mod){if(q==0) return 1;if(q==1) return x%mod;if(q==2) return x*x%mod;if(!(q%2)) { long long sum=poww(x,q/2,mod)%mod; return sum*sum%mod; } else { long long sum=poww(x,q/2,mod)%mod; return sum*sum*x%mod; }}int main(){freopen("book.in","r",stdin);freopen("book.out","w",stdout);scanf("%lld%lld%lld",&a,&b,&k);long long p=a+b,sum=poww(2,k,p);a=a*sum%p;b=(p-a)%p;printf("%lld\n",min(a,b));return 0;}
0 0
- 【校内互测】Sunshine's book(找规律)
- 【校内互测】Sunshine’s string(merge) (状压dp)
- Sunshine’s book(book)
- 【校内互侧】Sunshine’s city (lct+线段树)
- 【校内互侧】ZYF loves qaq (找规律+递推)
- CodeForces 152C Pocket Book(找规律+哈希)
- hdu6154-CaoHaha's staff(找规律)
- Sunshine’s city(lct+线段树)
- HDU 4148 Length of S(n)(找规律)
- hdu 4706 Children's Day(找规律)
- hdu 1297 Children’s Queue(找规律+高精度)
- 【HDU】2147 kiki's game (博弈 找规律)
- HDOJ 题目4349 Xiao Ming's Hope(找规律)
- hdu 2147 kiki's game(博弈,找规律)
- codeforces 560C Gerald's Hexagon(找规律)
- HDU 5351 MZL's Border(找规律)
- HDU 5351 MZL's Border(java 找规律)
- HDU 5351 MZL's Border(找规律+高精度)
- 例题4-4 信息解码 UVa213
- openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
- C++ :STL 算法unique , unique_copy函数
- net rtmp or hls play url
- Linux用ps命令查找进程PID再用kill命令终止进程的方法
- 【校内互测】Sunshine's book(找规律)
- Ubuntu 界面卡死的办法
- window 根据盘符获取磁盘号
- Python学习笔记五:数字和字符串
- 概率论中的建模思想
- js(javaScript)学习系列--基础
- 理解 Neutron Server 分层模型 - 每天5分钟玩转 OpenStack(69)
- javaScript笔记 (七) 正则表达式
- HDU 5793 A Boring Question (数学)