hihocoder hiho一下 第九十五周

来源:互联网 发布:mac安卓模拟器 编辑:程序博客网 时间:2024/05/20 07:37

先挖个坑

我看完这道题第一感觉是不用拓展欧几里得,直接每走一步循环一次就行了,循环一个很大的次数(比如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;}


0 0