【BZOJ1072】排列(搜索)

题面

BZOJ

洛谷

题解

算下复杂度,如果用\(next\_permutation\)

那就是\(10!\times 10\times 15\),复杂度不太对

那好办啊,把\(next\_permutation\)改成搜索不就完了。。

#include<iostream>
#include<cstring>
using namespace std;
char ch[15];
int a[10],d,ans,n;
void dfs(int x,int r)
{
if(x==n+1){ans+=r==0;return;}
for(int i=0;i<=9;++i)
if(a[i])--a[i],dfs(x+1,(r*10+i)%d),++a[i];
}
int main()
{
ios::sync_with_stdio(false);
int T;cin>>T;
while(T--)
{
cin>>(ch+1)>>d;ans=0;n=strlen(ch+1);
for(int i=n;i;--i)++a[ch[i]-48];
dfs(1,0);cout<<ans<<endl;
a[0]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=0;
}
return 0;
}

最新文章

  1. [LeetCode] Excel Sheet Column Title 求Excel表列名称
  2. 轻松3步实现c#windowsform窗体美化
  3. jquery 如何去除select 控件重复的option
  4. 带无缝滚动的轮播图(含JS运动框架)
  5. 使用ZooKeeper实现软负载均衡(原理)
  6. Win10系统下编译GDAL1.9.2版本
  7. android 之 spinner的简单使用
  8. wireshark抓包直观图解 TCP三次握手/四次挥手详解
  9. 001 The Hello World In Csharp
  10. 51nod1537 分解
  11. iOS常见问题(2)
  12. 基于野火M3开发板(STM32F103VET6)的迷宫小球(重力感应控制)游戏开发
  13. zigbee
  14. [配置文件] C#修改App.config,Web.config文件帮助类,ConfigHelper (转载)
  15. java zip工具类
  16. webview相关链接
  17. Linux 学习之防火墙配置
  18. C++中虚拟继承
  19. 了解spring
  20. 【转载】C++ STL快速入门

热门文章

  1. POJ--3279(开关问题2个不同时间写的代码)
  2. Netty源码分析第7章(编码器和写数据)----&gt;第2节: MessageToByteEncoder
  3. VMware两台虚拟机之间文件共享
  4. 初学node.js-npm使用(2)
  5. netcore如何引用package?
  6. nohup命令详解
  7. flex布局时,内容区域自适应高度
  8. Thunder团队--Beta发布用户使用报告
  9. TeamWork#3,Week5,Scrum Meeting 11.15
  10. Daily Scrum (2015/11/3)