您的位置:首页 > 其它

hihocoder hiho一下 第九十五周

2016-04-27 12:27 507 查看
先挖个坑

我看完这道题第一感觉是不用拓展欧几里得,直接每走一步循环一次就行了,循环一个很大的次数(比如9999999,不会超时的次数),要是能找到就能找到了,找不到就找不到了。(小技巧:用这行代码就可以取消iostream的同步绑定,可以让cin 的输入速度和scanf一样快)
std::ios::sync_with_stdio(false);


下面代码在本地能运行成功,答案也对,但是提交上去就出现runtime error,代码也不多,哪位大神有时间可以帮我看一下。蟹蟹

#include <stdio.h>
#include <iostream>

using namespace std;
int s1,s2,v1,v2,m;
int i = 999999;
bool go(){
if(s1+v1>m-1)
s1 = s1+v1-(m-1);
else
s1 += v1;
if(s2+v2>m-1)
s2 = s2+ v2 - (m-1);
else
s2 += v2;
if(s1 == s2)
{
printf("%d",999999-i+1);
return true;
}
return  false;

}

int main()
{
std::ios::sync_with_stdio(false);
cin >> s1 >> s2 >> v1 >> v2 >> m;
while(i -- )
{
if(go()) return 1;

}
printf("-1");
return -1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: