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的更多相关文章
- (中等) CF 585C Alice, Bob, Oranges and Apples,矩阵+辗转相除。
		Alice and Bob decided to eat some fruit. In the kitchen they found a large bag of oranges and apples ... 
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate 水题
		C. Alice, Bob and Chocolate 题目连接: http://codeforces.com/contest/6/problem/C Description Alice and Bo ... 
- 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 ... 
- codeforces 632B B. Alice, Bob, Two Teams(暴力)
		B. Alice, Bob, Two Teams time limit per test 1.5 seconds memory limit per test 256 megabytes input s ... 
- CF6C Alice, Bob and Chocolate
		CF6C Alice, Bob and Chocolate 题目链接 写了一天搜索写的有点累了,就顺手水了一道CF的模拟题 这道题就是简单的模拟整个题的过程,注意最后输出的形式就好了QWQ AC代码如 ... 
- C - Alice, Bob and Chocolate(贪心)
		Problem description Alice and Bob like games. And now they are ready to start a new game. They have ... 
- 2019.01.20 bzoj5158 Alice&Bob(拓扑排序+贪心)
		传送门 短代码简单题. 题意简述:对于一个序列XXX,定义其两个伴随序列a,ba,ba,b,aia_iai表示以第iii个数结尾的最长上升子序列长度,bib_ibi表示以第iii个数开头的最长下降 ... 
- Jzzhu and Apples CodeForces - 449C (构造,数学)
		大意: 求从[1,n]范围选择尽量多的数对, 使得每对数的gcd>1 考虑所有除2以外且不超过n/2的素数p, 若p倍数可以选择的有偶数个, 直接全部划分即可 有奇数个的话, 余下一个2*p不划 ... 
- 【Henu ACM Round #12 C】 Alice, Bob, Two Teams
		[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑任意两个字符串(a,b) 假设a在b的前面 那么如果a+b>=b+a 这里的+表示字符串的链接 那么显然需要交换a,b的位 ... 
随机推荐
- 泛泰A870K去掉相机快门声音的方法
			首先ROOT手机,挂载读写,/system/media/audio/ui里面哈,把camera-click.ogg改成camera-click.ogg.bak就可以了 转载自:http://bbs.9 ... 
- Tree Recovery(前序中序求后序)
			Tree Recovery Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14640 Accepted: 9091 De ... 
- Linux+Redis实战教程_day03_1、Redis-LinkedList【重点】
			1.redis-LinkedList[重点] Java List : 数组ArrayList 链表LinkedList 为什么redis选取了链表? Redis操作中,最多的操作是进行元素的增删 使用 ... 
- 5 -- Hibernate的基本用法 --4 1 创建Configuration对象
			org.hibernate.cfg.Configuration实例代表了应用程序到SQL数据库的配置信息,Configuration对象提供了一个buildSessionFactory()方法,该方法 ... 
- Hibernate的Configuration和SessionFactiory
			Configuration: Configuration是hibernate的入口,负责管理Hibernate的配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hiberna ... 
- 爬虫 测试webmagic (一)
			目标:统计斗鱼(www.douyu.com)人数 思路: 1. 目录找到douyu播出的所有游戏 http://www.douyutv.com/directory 2. 借助 chrome 定位到每个 ... 
- [转]如何配置和使用Tomcat访问日志
			配置位置在log下的server.xml,(tomcat容器) <Engine defaultHost="localhost" name="Catalina&quo ... 
- AcceptEx  以及 获取远程IP与port
			// 獲取本地以及遠程的IP和port setsockopt(clientfd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (char *)&listenfd ... 
- spring + Mybatis + pageHelper + druid 整合源码分享
			springMvc + spring + Mybatis + pageHelper + druid 整合 spring 和druid整合,spring 整合druid spring 和Mybatis ... 
- c语言学习笔记---预编译
			专题三: 1) 预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理# ... 
