数
来源:互联网 发布:directx修复软件 编辑:程序博客网 时间:2024/05/16 02:15
数
题目描述
给定正整数n,m,问有多少个正整数满足:
(1)不含前导0;
(2)是m的倍数;
(3)可以通过重排列各个数位得到n。
输入
一行两个整数n,m。
输出
一行一个整数表示答案对998244353取模的结果。
样例输入
1 1
样例输出
1
提示
【数据范围】
对于20%的数据,n<10^10。
对于50%的数据,n<10^16,m<=20。
对于100%的数据,n<10^20,m<=100。
#include<stdio.h>#include<cstring>using namespace std;#define MOD 998244353int m,f[60000][100],a[10],val[11];char s[20];inline void add(int &a,int b){ a=(a+b<MOD?(a+b):(a+b-MOD));}int dfs(int len,int sta,int mo){ if (len==0) return mo==0?1:0; if (f[sta][mo]!=-1) return f[sta][mo]; int tot=0; for (int i=(!sta?1:0);i<=9;i++) if (sta/val[i]%(a[i]+1)<a[i]) add(tot,dfs(len-1,sta+val[i],(mo*10+i)%m)); f[sta][mo]=tot; return tot; }int main(){ scanf("%s%d",&s,&m); int l=strlen(s);val[0]=1; for (int i=0;i<l;i++) a[s[i]-'0']++; for (int i=1;i<=10;i++) val[i]=val[i-1]*(a[i-1]+1); memset(f,-1,sizeof(f)); printf("%d\n",dfs(l,0,0)); return 0;}
阅读全文
0 0
- 数
- 数
- 数
- 数
- 数
- 数
- 字符数,字节数
- 完全数、亲和数
- 字符数、字节数
- 亲和数、相亲数
- 整形数,浮点数
- 浮点数、定点数
- 三角数因子数
- 自守数,亲密数,完美数
- 【实用技巧】阅读数,分享数,浏览数
- B数 /B-数 / B+数
- 水仙花数
- 浮点数
- 运算符重载 前缀++ 后缀++
- php基础知识
- SSL协议
- iOS引入第三发库引发的错误linker command failed with exit code 1
- 通过测试服务器在myeclipse开启远程debug
- 数
- ISE程序编译报错:this signal is connected to multiple drivers
- Android开发——蓝牙多设备连接(四)
- GithHub的安装、使用
- 锁和分布式锁的一些理解
- 2017.9.20遇到问题
- 使用IDEA在Spring Boot中集成JSP
- 清华北大联袂推荐:大学生必读的30本经典书籍
- TOMCAT优化配置