zoukankan      html  css  js  c++  java
  • 【noi 2.6_9272】偶数个数字3(DP)

    题意:问所有的N位数中,有多少个有偶数个数字3的数。

    解法:f[i][j]表示i位数中含数字3的个数模2为j的个数。于是分第i位填3还是不填3讨论。

    小tip:要模12345;for循环新定义了一个变量会慢一点点~

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #define N 1010
     4 #define mod 12345
     5 
     6 int f[2][2];
     7 int main()
     8 {
     9     int n;
    10     scanf("%d",&n);
    11     if (n==1) {printf("9
    ");return 0;}
    12     f[1][0]=8,f[1][1]=1;
    13     int k=0;
    14     for (int i=2;i<=n;i++)
    15     {
    16       f[k][0]=(f[1-k][0]*9+f[1-k][1])%mod;
    17       f[k][1]=(f[1-k][1]*9+f[1-k][0])%mod;
    18       k=1-k;
    19     }
    20     printf("%d
    ",f[1-k][0]);
    21     return 0;
    22 }
  • 相关阅读:
    c基础
    一维数组,字符数组
    循环结构
    分支结构
    结构体
    Python简介和入门
    Python基础(一)
    Markdown 基础学习
    PyCharm 专业版安装
    Python基础(二)
  • 原文地址:https://www.cnblogs.com/konjak/p/5968534.html
Copyright © 2011-2022 走看看