• hlgoj1881


     1 #include <stdio.h>
     2 int num[1000000+10];
     3 int main(){
     4     int l,m;
     5     int i,j;
     6     int sign;
     7     num[0]=1;
     8     num[1]=2;
     9     while(~scanf("%d%d",&l,&m)){
    10         sign=1;
    11         for(i=2;i<=l;++i){
    12             if(sign==1){
    13                 num[i]=num[i-2]+num[i-1]+1;
    14             }else if(sign==2){
    15                 num[i]=num[i-2]+num[i-1];
    16             }else if(sign==3){
    17                 if(num[i-2]+num[i-1]==0) 
    18                 num[i]=m-1;
    19                 if(num[i-2]+num[i-1]!=0)
    20                     num[i]=num[i-2]+num[i-1]-1;
    21             }else if(sign==0){
    22                 num[i]=num[i-2]+num[i-1];
    23             }
    24             num[i]=num[i]%m;
    25             sign=sign+1;
    26             sign=sign%4;
    27         }
    28         printf("%d
    ",num[l]%m);
    29     }
    30     return 0;
    31 }

    --------------------------------------------------------------------------

    fmf  ==> 101 ==> 5    fff ==> 111 ==> 7

    --------------------------------------------------------------------------

    cnt =0

    from i <--1 to n

        t <-- i

        while( t != 0 )

          if ( t mod 8==5 || t mod 8==7 )  { cnt ++; break; }

        t=t/2

    --------------------------------------------------------------------------   

          | |

          | |

          | |

       list  

    i=0,cnt=1
    i=1,cnt=2
    i=2,cnt=4
    i=3,cnt=6
    i=4,cnt=9
    i=5,cnt=15
    i=6,cnt=25
    i=7,cnt=40
    i=8,cnt=64
    i=9,cnt=104
    i=10,cnt=169
    i=11,cnt=273
    i=12,cnt=441
    i=13,cnt=714
    i=14,cnt=1156
    i=15,cnt=1870
    i=16,cnt=3025
    i=17,cnt=4895
    i=18,cnt=7921
    i=19,cnt=12816
    i=20,cnt=20736
    i=21,cnt=33552
    i=22,cnt=54289
    i=23,cnt=87841
    i=24,cnt=142129
    i=25,cnt=229970
    i=26,cnt=372100
    i=27,cnt=602070
    i=28,cnt=974169
    i=29,cnt=1576239
    i=30,cnt=2550409
  • 相关阅读:
    Subsequence
    【模板】AC自动机(加强版)
    1563: hzwer的跳跳棋(hop)
    P2469 [SDOI2010]星际竞速
    P2746 [USACO5.3]校园网Network of Schools
    Blocks
    Training little cats
    Period
    UVA-3942 Remember the Word
    初学线段树(poj3264+poj2777)
  • 原文地址:https://www.cnblogs.com/symons1992/p/3330960.html
Copyright © 2020-2023  润新知