zoukankan      html  css  js  c++  java
  • NBU 1409(模拟题)

    题目链接:http://ac.nbutoj.com/Problem/view.xhtml?id=1409

    思路:一道不错的题,递推关系式之后还得处理大数。

    View Code
     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 const int MAXN=110;
     8 int dp1[MAXN][MAXN],dp2[MAXN][MAXN];
     9 int ans[MAXN][MAXN];
    10 //dp1[i]表示走i步朝上走的方案数
    11 //dp2[i]表示走i步左走或右走的方案数
    12 //dp1[i]=dp1[i-1]+dp2[i-1];
    13 //dp2[i]=2*dp1[i-1]+dp2[i-1];
    14 //ans[i]=dp1[i]+dp2[i];
    15 
    16 void Solve1(int dp1[],int a[],int b[]){
    17     for(int i=0;i<MAXN;i++){
    18         dp1[i]+=a[i]+b[i];
    19         if(dp1[i]>=10){
    20             dp1[i+1]=dp1[i]/10;
    21             dp1[i]%=10;
    22         }
    23     }
    24 }
    25 
    26 void Solve2(int dp2[],int a[],int b[]){
    27     for(int i=0;i<MAXN;i++){
    28         a[i]=2*a[i];
    29     }
    30     for(int i=0;i<MAXN;i++){
    31         dp2[i]+=a[i]+b[i];
    32         if(dp2[i]>=10){
    33             dp2[i+1]=dp2[i]/10;
    34             dp2[i]%=10;
    35         }
    36     }
    37 }
    38 
    39 
    40 int main(){
    41     dp1[1][0]=1;
    42     dp2[1][0]=2;
    43     ans[1][0]=3;
    44     for(int i=2;i<MAXN;i++){
    45         Solve1(dp1[i],dp1[i-1],dp2[i-1]);
    46         Solve2(dp2[i],dp1[i-1],dp2[i-1]);
    47         Solve1(ans[i],dp1[i],dp2[i]);
    48     }
    49     int n;
    50     while(~scanf("%d",&n)){
    51         bool flag=true;
    52         for(int i=MAXN-1;i>=0;i--){
    53             if(ans[n][i]==0&&flag)continue;
    54             else {
    55                 flag=false;
    56                 printf("%d",ans[n][i]);
    57             }
    58         }
    59         puts("");
    60     }
    61     return 0;
    62 }
  • 相关阅读:
    C语言学习代码〈二〉
    C语言学习笔记<三 >
    C语言学习笔记<一 >
    C语言学习代码〈四〉
    C语言学习代码〈三〉
    C语言学习笔记<五>
    C语言学习笔记<四>
    C语言学习笔记<二 >
    C语言学习代码<一> .
    周末练习
  • 原文地址:https://www.cnblogs.com/wally/p/3048129.html
Copyright © 2011-2022 走看看