题意:给你一个b进制的数,再给你一个十进制数k,你可以重新排列b进制数的每一位得到其他b进制数,问你这些数中有多少可以整除k?

思路:数位dp。

#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
long long int dp[1 << 16][20];
int hashDigit(char ch){
if(ch >= '0' && ch <= '9') return ch-'0';
return 10 + ch - 'A';
}
int main(){
int t,b,K,CASE(0);
char str[20];
scanf("%d",&t);
while(t--){
scanf("%d%d%s",&b,&K,str);
memset(dp,0,sizeof dp);
dp[0][0] = 1;
int len = strlen(str),range = 1 << len;
for(int i = 0;i < range;i ++){
for(int j = 0;j < len;j ++){
if(i & (1 << j)) continue;
for(int k = 0;k < K;k ++)
dp[i|(1 << j)][(k*b + hashDigit(str[j]))%K] += dp[i][k];
}
}
printf("Case %d: %lld\n",++CASE,dp[range-1][0]);
}
return 0;
}

最新文章

  1. 7 -- Spring的基本用法 -- 5...
  2. linux 的 磁盘操作
  3. chem01- 添加商品到购物车
  4. VirtualizingStackPanel
  5. BOT、BT、PPP形式介绍(2)
  6. BZOJAC400题留念
  7. PHP的MySQL扩张:MySQL数据库概述
  8. jsp+servlet实现模糊查询和分页效果
  9. 「拆小鹤」使用 python 实现 QQ机器人服务。
  10. php缩放gif和png图透明背景变成黑色的解决方法_php技巧
  11. Chipmunk碰撞形状:cpShape
  12. java servlet的执行流程
  13. Centos7安装Openldap初级篇
  14. Spark思维导图之内存管理
  15. vue项目中使用scss
  16. Hadoop JAVA HDFS客户端操作
  17. 01.hadoop集群环境搭建
  18. SSM 关于service和dao的封装
  19. python函数def
  20. mongodb基础学习7-备份与恢复

热门文章

  1. POJ 3259 Wormholes(SPFA)
  2. 区间dp笔记√
  3. 解决Eclipse10配置Pydev不成功的问题
  4. 毕向东JAVA视频视频讲解(第八课)
  5. 对于linux下system()函数的深度理解(整理)
  6. 网上图书商城项目学习笔记-012BOOK模块查询2
  7. Excel操作--使用NPOI导入导出Excel为DataTable
  8. maven小项目注册服务(二)--captcha模块
  9. Spring 事务中 readOnly 的解释
  10. Android中ProgressDialog的简单示例