Alice, Bob, Oranges and Apples CodeForces - 586E
E - Alice, Bob, Oranges and Apples
CodeForces - 586E
自己想的时候模拟了一下各个结果
感觉是不是会跟橘子苹果之间的比例有什么关系
搜题解的时候发现了 Stern-Brocot tree
长这样 和我想的那个很类似 可开心了
但是后来看不懂题解什么意思
关于Stern树的一点结论是 每一层相邻的两个数a/b 和 c/d 可以得到下面一层的数(a+c)/(b+d)
而且分子分母一定是互质的
后来自己找规律 觉得如果x比y小就需要一次B操作 下面是代码
TLE on test 10
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cmath>
#include<cstring>using namespace std;long long x, y;long long gcd(long long x, long long y)
{return (y == 0)? x : gcd(y, x % y);
}int main()
{while(scanf("%I64d%I64d", &x, &y) != EOF){if(gcd(x, y) != 1){cout<< "Impossible\n";}else{long long timea = 0, timeb = 0;while(abs(x-y) >= 1){if(x < y){if(timea){cout<<timea<<"A";timea = 0;}timeb++;y -= x;}else{if(timeb){cout<<timeb<<"B";timeb = 0;}timea++;x -= y;}}if(timea)cout<<timea<<"A"<<endl;if(timeb)cout<<timeb<<"B"<<endl;}}return 0;
}
T完了以后觉得自己真的怎么还是这么傻
也不估一下复杂度
又找到了新的题解 说直接模拟的
还是不太懂
先附在这里 晚点看
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;void work()
{LL a, b;scanf("%I64d%I64d", &a, &b);if(__gcd(a, b) != 1) {printf("Impossible\n");return;}while(a && b) {if(a < b) {LL t = b / a;if(a * t == b) printf("%I64dB", t-1);else printf("%I64dB", t);b -= t * a;}else {LL t = a / b;if(b * t == a) printf("%I64dA", t-1);else printf("%I64dA", t);a -= t * b;}}printf("\n");
}int main()
{
//freopen("data", "r", stdin);work();return 0;
}
找trader问了一下思路 突然好像理解了!!!
先假设某一个状态橘子苹果数量是A和B且A<B
那么B肯定是由k次上一状态的A加上上一状态的B得到的
所以可以理解 A操作的次数就是B/A次 如果没有余数说明过头了要减1
Alice, Bob, Oranges and Apples CodeForces - 586E相关推荐
- Educational Codeforces Round 9 B. Alice, Bob, Two Teams 前缀和
B. Alice, Bob, Two Teams 题目连接: http://www.codeforces.com/contest/632/problem/B Description Alice and ...
- C. Oranges and Apples
C. Oranges and Apples 题意: 给定一个数字N 已知有2n-1框水果,每框中有一定的 橘子和苹果 让从中选出 n框水果 ,要求 这n框水果的每种总和 不小于 所有框中相对每种的 一 ...
- 【CodeForces - 632B】Alice, Bob, Two Teams (预处理,思维,前缀和后缀和)
题干: Alice and Bob are playing a game. The game involves splitting up game pieces into two teams. The ...
- [codeforces23C]Oranges and Apples
time limit per test : 1.5 seconds memory limit per test : 256 megabytes 分数:2500(补的有趣的老题) In 2N−12N - ...
- 密码学中常用的人物角色名称--Alice, Bob,etc
密码学中常用的人物角色名称 转载至 (https://blog.51cto.com/manual/788667) 爱丽丝(Alice)与鲍伯(Bob)是广泛地代入密码学和物理学领域的通用角色.除了爱丽 ...
- java连接mysql数据库时出现乱码_java连接mysql数据库中文乱码问题
完整安装cocoaPods cocoaPods是一款xcode项目管理第三方库的工具 *ruby源码镜像下载:https://ruby.taobao.org/mirrors/ruby/*升级gem的版 ...
- 【清华集训2016】Alice和Bob又在玩游戏
不难的题目.因为SG性质,所以只需要对一棵树求出. 然后如果发现从上往下DP不太行,所以从下往上DP. 考虑一个点对子树的合并,考虑下一个删的点在哪一个子树,那么剩下的状态实际上就是把一个子树所有能达 ...
- hdu 4268 Alice and Bob(STL版)
http://acm.hdu.edu.cn/showproblem.php?pid=4268 这是今天网络赛的水题,下午短路了,没想到怎么做.队友hq是用treap做的,不过赛后我才想懂怎么做,回到宿 ...
- NYOJ 1053 Alice and Bob (N)
Alice and Bob (N) 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 也不知道是谁规定的,Alice 和 Bob总是有一堆做不完的事,和一堆奇葩想法,而且重 ...
最新文章
- eBPF bcc实例分析
- 工程制图 (化工工艺流程图绘制 )
- Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.7:resources
- sqlserver存储过程学习
- MySQL max_allowed_packet
- Atitit q2016 q4 doc list on home ntpc.docx
- vbs整人小程序集合
- C语言常用开发环境IDE
- Cameralink多功能接口转换模块
- 天翼网盘在线直链解析源码
- 蔡颖-《APS走向实践》书解读之三:供应、计划排程、供应链优化
- 港科夜闻|香港科大唐本忠院士团队整合最新研究成果:刺激响应型聚集诱导发光材料...
- java2048ai,2048小游戏ai设计
- 恭贺新春-杨建荣敬祝
- QT教程 休闲棋牌游戏开发(2)
- 《AR与VR开发实战》——第1章AR技术简介
- 下载chromedriver
- 手机qpython3 如何画图_记住这3个功能,一分钟掌握python sns作图
- 数据载入、存储及文件格式——《利用python数据分析》第六章学习
- 奇偶 ASCII 值判断(信息学奥赛一本通)