首页 > 代码库 > 【noi 2.6_9272】偶数个数字3(DP)
【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\n");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\n",f[1-k][0]); 21 return 0; 22 }
【noi 2.6_9272】偶数个数字3(DP)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。