zoukankan      html  css  js  c++  java
  • poj 2115 C Looooops 夜

    http://poj.org/problem?id=2115

    自己最不喜欢的就是数论题 但不能因为不喜欢就不去做了 做会了就喜欢了

    通过做道题本人需要深刻的反省,做这道题浪费了我太多时间 代码中的long long 较多其中两个写成了long

    我愣是没看出来结果悲剧了N久     就此反省

    1.细心,不能代码一多就乱了

    2.明明可以用个#define long long LL 之类的代替的,既省时间有安全,为什么没用呀!亲。

    3.代码久调试不对,更放一下就的放一下。让脑子清醒一下。这道题就是。回去睡了一觉回来没用5分钟就发现错误了

    伤不起呀,以后要多加注意呀,得养成良好的编码习惯。

    对于扩展欧几里得算法理解的还不够清楚。

    天下尚未拿下,天才仍需努力。

    #include<iostream>
    #include<cmath>
    #include<string>
    #include<cstring>
    #include<queue>
    #include<map>
    #include<cstdio>
    
    using namespace std;
    
    long long dd(long long a,long long b,long long &x,long long &y)
    {
       // cout<<a<<" "<<b<<endl;
        if(b==0)
        {
            x=1;y=0;
            return a;
        }
        long long temp=dd(b,a%b,x,y);
        long long t=x;x=y;y=(t-(a/b)*y);
        return temp;
    }
    long long find(long long a,long long b,long long c)
    {
        //cout<<c<<endl;
        long long x,y;
        long long d=dd(a,c,x,y);
        //cout<<b<<" "<<d<<endl;
        if(b%d!=0)
        return -1;
        x=x*b/d;
        long long t=c/d;
        x=(x%t+t)%t;
        return x;
       // return x*(b/d);
    }
    int main()
    {
        //freopen("c.in","r",stdin);
        //freopen("c2.out","w",stdout);
        long long A,B,C,k;
        while(cin>>A>>B>>C>>k)
        {
            //cout<<A<<" "<<B<<" "<<C<<" "<<k<<endl;
            if(!A&&!B&&!C&&!k)
            break;
            long long l=1;
            long long ans=find(C,B-A,l<<k);
            if(ans==-1)
            printf("FOREVER\n");
            else
            cout<<ans<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    [NOIP2002 提高组] 均分纸牌
    洛谷 P1303 A*B Problem
    OpenJudge 1.6.5 年龄与疾病
    hdu 3340 线段树思路活用
    poj 2464 线段树统计区间..两棵树
    hdu 4419 矩形面积覆盖颜色
    经典动态规划 dp Rqnoj 57
    最基础二维线段树 hdu 1823 (简单)
    hdu 3564 线段树+dp
    spoj 1557 线段树 区间最大连续和 (不重复数)
  • 原文地址:https://www.cnblogs.com/liulangye/p/2483162.html
Copyright © 2011-2022 走看看