codeforces 547A Mike and Frog
近期都是这样的题呢。
。
。。。。
哎
開始想纯暴力(体如今跳出循环t>=那里。,,,)。。,。随着数据变大。。
。。。(t=499981500166是能够的),,,。。,,23333333
超时代码:
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int mod;
scanf("%lld",&mod);
long long int yuanshi1,mubiao1;
scanf("%lld%lld",&yuanshi1,&mubiao1);
long long int x1,y1;
scanf("%lld%lld",&x1,&y1);
long long int yuanshi2,mubiao2;
scanf("%lld%lld",&yuanshi2,&mubiao2);
long long int x2,y2;
scanf("%lld%lld",&x2,&y2);
long long int t=0;
while(yuanshi1!=mubiao1||yuanshi2!=mubiao2)
{
yuanshi1=(x1*yuanshi1+y1)%mod;
yuanshi2=(x2*yuanshi2+y2)%mod;
t++;
if(t>=50000000000)
{
printf("-1\n");
return 0;
}
}
printf("%lld\n",t);
return 0;
}
非常质朴啊。。。。
。
。
此题最深刻的教训是。
。。。以后别对变量瞎起名字!
!!
!
!!
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int mod;
scanf("%lld",&mod);
long long int yuanshi1,mubiao1;
scanf("%lld%lld",&yuanshi1,&mubiao1);
long long int x1,y1;
scanf("%lld%lld",&x1,&y1);
long long int yuanshi2,mubiao2;
scanf("%lld%lld",&yuanshi2,&mubiao2);
long long int x2,y2;
scanf("%lld%lld",&x2,&y2);
long long int k1=0,k2=0;
while(yuanshi1!=mubiao1&&k1<mod) //先算第一个满足的情况
{
yuanshi1=(x1*yuanshi1+y1)%mod;
yuanshi2=(x2*yuanshi2+y2)%mod;
k1++;
}
if(yuanshi1==mubiao1&&yuanshi2==mubiao2) //同一时候第二个也满足了
{
printf("%lld\n",k1);
return 0;
}
if(yuanshi1!=mubiao1) //假设跳出是由于大于了MOD那就没招了(题里给的!
)
{
printf("-1\n");
return 0;
}
long long int c=1;
yuanshi1=(yuanshi1*x1+y1)%mod;
long long int x=x2,y=y2;
while(yuanshi1!=mubiao1&&c<=mod) //找两个循环的最小公倍数。。。。
。。
{
yuanshi1=(yuanshi1*x1+y1)%mod;
x=(x*x2)%mod;
y=(x2*y+y2)%mod;
c++;
}
if(yuanshi1!=mubiao1)
{
printf("-1\n");
return 0;
}
while(yuanshi2!=mubiao2&&k2<=mod){
yuanshi2=(yuanshi2*x+y)%mod;
k2++;
}
if(yuanshi2!=mubiao2){
printf("-1\n");
return 0;
}
printf("%lld\n",k2*c+k1);
return 0;
}
还可以用拓展欧几里得。。
。。。
。
假设这个线性方程有解,那么一定有gcd(a,b) | m。即a。b的最大公约数可以整除m(m%gcd(a,b)==0)。
codeforces 547A Mike and Frog的更多相关文章
- Codeforces Round #305 (Div. 1) A. Mike and Frog 暴力
A. Mike and Frog Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/547/pr ...
- 数论/暴力 Codeforces Round #305 (Div. 2) C. Mike and Frog
题目传送门 /* 数论/暴力:找出第一次到a1,a2的次数,再找到完整周期p1,p2,然后以2*m为范围 t1,t2为各自起点开始“赛跑”,谁落后谁加一个周期,等到t1 == t2结束 详细解释:ht ...
- CF #305 (Div. 2) C. Mike and Frog(扩展欧几里得&&当然暴力is also no problem)
C. Mike and Frog time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- hdu4135-Co-prime & Codeforces 547C Mike and Foam (容斥原理)
hdu4135 求[L,R]范围内与N互质的数的个数. 分别求[1,L]和[1,R]和n互质的个数,求差. 利用容斥原理求解. 二进制枚举每一种质数的组合,奇加偶减. #include <bit ...
- codeforces 547E Mike and Friends
codeforces 547E Mike and Friends 题意 题解 代码 #include<bits/stdc++.h> using namespace std; #define ...
- codeforces 689 Mike and Shortcuts(最短路)
codeforces 689 Mike and Shortcuts(最短路) 原题 任意两点的距离是序号差,那么相邻点之间建边即可,同时加上题目提供的边 跑一遍dijkstra可得1点到每个点的最短路 ...
- codeforces #305 A Mike and Frog
挺简单的题目,但是有一堆恶心的边界 在刨去恶心的边界之后: 假定我们知道两边的循环节为b1,b2 其中h第一次到达目标的时间为a1,a2 又知道对于答案t t=a1+b1*t1=a2+b2*t2 不妨 ...
- Codeforces 548B Mike and Fun
传送门 B. Mike and Fun time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Codeforces 798D Mike and distribution - 贪心
Mike has always been thinking about the harshness of social inequality. He's so obsessed with it tha ...
随机推荐
- 【ActiveMQ】ActiveMQ在CentOS的搭建与使用
下载 到ActiveMQ官网,找到下载点. 目前, 官网为http://activemq.apache.org/. 我们下载目前最新的版本吧,当前的Linux版本下载地址之一为:http://apac ...
- spring boot设定mysql
mysql创建表,制定自增,utf-8编码 create table person(id int auto_increment primary key, name varchar(100), age ...
- dp之多维背包hdu2159
二维背包问题,我是觉得这个题目数据比较水,虽然它最后说了怪可以无限个,但是它却只能最多杀s个,也就是所有品种的怪最多为s个,那么就是二维完全背包的问题了.......同时,它没有说一定要杀s只怪,所以 ...
- C# 中正则表达式 Group 分组【转】
http://www.cnblogs.com/kiant71/archive/2010/08/14/1799799.html 在一个正则表达式中,如果要提取出多个不同的部分(子表达式项),需要用到分组 ...
- cocos2dx坐标系介绍
GL坐标系 Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角.x轴向右.y轴向上. 屏幕坐标系 苹果的Quarze2D使用的是不同的坐标系统,原点 ...
- RDLC设计
1.rdlc报表的日期格式"yyyy/mm/dd 00/00/00"转换为"yyyy-mm-dd" =System.Convert.ToDateTime(Fie ...
- 【Unity】使用SceneManager加载/切换场景
一.直接切换 老版的(已弃用!): Application.LoadLevel(int index); // 参数是场景编号 Application.LoadLevel(string name); / ...
- CentOS更新163 yum源
这个脚本也没啥多大意义,只是为了自己练习着写一下bash ======================================================================= ...
- am335x SGX 移植
第一步,先安装对应的 PDK 包,并编译出相对应的kernel module. 我是在 PDK 3.0 上面进行开发的,所以要先把相对应的 PDK包. 下载地址: http://software-dl ...
- R语言绘制沈阳地铁线路图
##使用leaflet绘制地铁线路图,要求 ##(1)图中绘制地铁线路 library(dplyr) library(leaflet) library(data.table) stations< ...