zoukankan      html  css  js  c++  java
  • 奋战杭电ACM(DAY4)1005

    今天AC两道啊啊啊啊啊!!被这题虐死了啊啊啊啊!!先是直接递归,溢出,就知道没这么简单……后来发现了循环,结果n类型写错,数组下标溢出,忘记跳出循环,循环节长度求错……我勒个去的26号的题拖到现在啊啊啊啊啊!!!终于AC了……纪念一下……动态建表,学到啦!!!

    Number Sequence

    #include <iostream>
    using namespace std;
    int main()
    {
        int A,B,i,j,circle,pre;
        int f[201];
        long n;
        while(cin >> A >> B >> n)
        {
            if( A==0 && B==0 && n==0)
                break;
            else
            {
                f[0]=0;
                f[1]=1;
                f[2]=1;
                circle =0;
                pre=0;
                for(i=3; i<=200; i++)
                    f[i]=(A*f[i-1]+B*f[i-2])%7;
                for(i=3; i<200; i++)
                {
                    for(j=1; j<i; j++)
                    {
                        if(f[i]==f[j] && f[i+1]==f[j+1])
                        {
                            circle=i-j;
                            pre=j-1;
                            break;
                        }
                    }
                    if(circle != 0)
                        break;
                }
                if(n>pre+circle)
                    n=((n-pre)%circle)+pre+circle;
                cout << f[n] << endl;
            }
        }
        return 0;
    }


  • 相关阅读:
    【BJOI2018】求和
    【洛谷P1613】跑路
    【NOI2001】食物链
    【NOI2002】银河英雄传说
    【POJ1456】Supermarket
    【NOIP2013】货车运输
    【CH#56C】异象石
    【POJ3417】Network
    【APIO2010】巡逻
    【CH6201】走廊泼水节
  • 原文地址:https://www.cnblogs.com/ques3512012019/p/3295213.html
Copyright © 2011-2022 走看看