博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1072: [SCOI2007]排列perm
阅读量:5297 次
发布时间:2019-06-14

本文共 1046 字,大约阅读时间需要 3 分钟。

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 1411  Solved: 879
[][][]

Description

给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种。

Input

输入第一行是一个整数T,表示测试数据的个数,以下每行一组s和d,中间用空格隔开。s保证只包含数字0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Output

每个数据仅一行,表示能被d整除的排列的个数。

Sample Input

7
000 1
001 1
1234567890 1
123434 2
1234 7
12345 17
12345678 29

Sample Output

1
3
3628800
90
3
6
1398

HINT

 

在前三个例子中,排列分别有1, 3, 3628800种,它们都是1的倍数。

【限制】
100%的数据满足:s的长度不超过10, 1<=d<=1000, 1<=T<=15

题解:

  生成排列,放到set里,以便以后检查是否重复

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 typedef long long LL;10 int T, d, l, Ans;11 int A[15];12 char Str[15];13 LL Num;14 set
S;15 int main(){16 scanf("%d",&T);17 for (int Case=1;Case<=T;Case++){18 scanf("%s%d", Str, &d);19 Ans=0;20 S.clear();21 l=strlen(Str);22 for(int i=0;i

 

转载于:https://www.cnblogs.com/CXCXCXC/p/5080386.html

你可能感兴趣的文章
从LazyPhp说起
查看>>
Fine Uploader文件上传组件
查看>>
javascript中的传递参数
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
软件测试(基础理论一)摘
查看>>
consonant combination
查看>>
基于Flutter实现的仿开眼视频App
查看>>
析构器
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
https通讯流程
查看>>
Swagger简单介绍
查看>>
C# 连接SQLServer数据库自动生成model类代码
查看>>
关于数据库分布式架构的一些想法。
查看>>
大白话讲解 BitSet
查看>>
sql语句中where与having的区别
查看>>
Python数据分析入门案例
查看>>
0x7fffffff的意思
查看>>
Java的值传递和引用传递
查看>>