【codeforces 787A】The Monster
【题目链接】:http://codeforces.com/contest/787/problem/A
【题意】 
 
把b一直加a->得到x 
把d一直加c->得到y 
然后问你x和y可不可能有相同的值. 
有的话,输出那个最小的;
【题解】 
 
等价于 
令t=(b+u*a-d)%c==0 
u为整数 
这里如果b< d就swap(a,c),swap(b,d)就好; 
然后如果t遇到了重复的值,就结束,往后都不可能了; 
如果t中途变成0了,就输出那个u; 
 
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%lld",&x)
#define ref(x) scanf("%lf",&x)
typedef pair<int, int> pii;
typedef pair<LL, LL> pll;
const int dx[9] = { 0,1,-1,0,0,-1,-1,1,1 };
const int dy[9] = { 0,0,0,-1,1,-1,1,-1,1 };
const double pi = acos(-1.0);
const int N = 110;
map <int, int> dic;
int a, b, c, d;
int ans = -1;
void in()
{
    rei(a), rei(b);
    rei(c), rei(d);
}
int get_ans()
{
    int x = 0;
    if (b < d)
    {
        swap(a, c);
        swap(b, d);
    }
    //b>=d
    int t = (b + x*a - d) % c;
    while (t != 0)
    {
        if (dic[t])
            return -1;
        dic[t] = 1;
        x++;
        t = (b + x*a - d) % c;
    }
    return x;
}
int main()
{
    //freopen("F:\\rush.txt", "r", stdin);
    in();
    ans = get_ans();
    if (ans==-1)
        puts("-1");
    else
        printf("%d\n",b+ans*a);
    //printf("\n%.2lf sec \n", (double)clock() / CLOCKS_PER_SEC);
    return 0;
}【codeforces 787A】The Monster的更多相关文章
- 【codeforces 415D】Mashmokh and ACM(普通dp)
		[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ... 
- 【27.66%】【codeforces 592D】Super M
		time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ... 
- 【codeforces 707E】Garlands
		[题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q ... 
- 【codeforces 707C】Pythagorean Triples
		[题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ... 
- 【codeforces 709D】Recover the String
		[题目链接]:http://codeforces.com/problemset/problem/709/D [题意] 给你一个序列; 给出01子列和10子列和00子列以及11子列的个数; 然后让你输出 ... 
- 【codeforces 709B】Checkpoints
		[题目链接]:http://codeforces.com/contest/709/problem/B [题意] 让你从起点开始走过n-1个点(至少n-1个) 问你最少走多远; [题解] 肯定不多走啊; ... 
- 【codeforces 709C】Letters Cyclic Shift
		[题目链接]:http://codeforces.com/contest/709/problem/C [题意] 让你改变一个字符串的子集(连续的一段); ->这一段的每个字符的字母都变成之前的一 ... 
- 【Codeforces 429D】 Tricky Function
		[题目链接] http://codeforces.com/problemset/problem/429/D [算法] 令Si = A1 + A2 + ... + Ai(A的前缀和) 则g(i,j) = ... 
- 【Codeforces 670C】 Cinema
		[题目链接] http://codeforces.com/contest/670/problem/C [算法] 离散化 [代码] #include<bits/stdc++.h> using ... 
随机推荐
- uva 1463 - Largest Empty Circle on a Segment(二分+三分+几何)
			题目链接:uva 1463 - Largest Empty Circle on a Segment 二分半径,对于每一个半径,用三分求出线段到线段的最短距离,依据最短距离能够确定当前R下每条线段在[0 ... 
- 使用 Python 第三方库 daft 绘制 PGM 中的贝叶斯网络
			daft 的官方文档请见 DAFT:BEAUTIFULLY RENDERED PROBABILISTIC GRAPHICAL MODELS. from matplotlib import rc rc( ... 
- Excel Add-in
			Excel Add-in 前言 这个系列文章应该有一阵子没有更新了,原因是一如既往的多,但是根本所在是我对于某些章节其实还没有完全想好怎么写,尤其是对于Office Add-in这块 —— 到底是要每 ... 
- R语言-  基本统计分析
			目的: 1.描述性统计分析 2.频数表和;列连表 3.相关系数和协方差 4.t检验 5.非参数统计 在上一节中使用了图形来探索数据,下一步就是给出具体的数据来描述每个变量的分布和关系 1.描述性统计分 ... 
- Spring-data-redis:特性与实例--转载
			原文地址:http://shift-alt-ctrl.iteye.com/blog/1886831 Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SD ... 
- 【Codeforces Round #433 (Div. 1) B】Jury Meeting
			[链接]h在这里写链接 [题意] 有n个人,它们都要在某一时刻开始,全都到达0位置,然后维持最少k个时间单位,然后再全都回到原来的位置; 第i个人初始的位置是i. 且一共有m班航班. 每一班航班,要么 ... 
- Java 学习(18):Java 序列化& 网络编程& 发送邮件
			--Java 序列化 -- 网络编程 -- 发送邮件 Java 序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信 ... 
- 第一个hello word 驱动载入失败--------
			今天尝试自己载入第一个驱动模块,依据惯例hello word 然后失败了,如今说明我的操作过程.请个位看看. 首先我的内核版本号: 模块代码与MAKEFILE #include<linux/in ... 
- Mac 环境下svn服务器的配置
			Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ... 
- Aamazon Web Service EC2 Ubuntu 新建用户而且用ssh连接host
			本文參照 http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/managing-users.html http://docs.aws.am ... 
