OJ第二次作业第三题
来源:互联网 发布:最好的数据恢复 编辑:程序博客网 时间:2024/06/05 21:54
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int f[100],a[1000],i,n,ans;char str[1000];void dfs(int dep){ int r; if (dep==n+1) { ans++; //记录方案总数 for (r=1;r<=n;++r) printf("%c",a[r]+96); printf("\n"); return; } for (r=1;r<=26;++r) if (f[r]>0)//如果这个字母没有取完 { a[dep]=r;//a依然是记录数组 f[r]--;//计数器-1 dfs(dep+1); f[r]++;//回溯一步 }}int main(){ scanf("%d",&n); cin>>str; for (i=0;i<n;++i) f[str[i]-96]++;//记录每一个字母在字符串中出现了几次 dfs(1); printf("%d",ans); return 0;}
阅读全文
0 0
- OJ第二次作业第三题
- FRID第二次作业第三题
- C#第二次作业的第三题
- RFID第二次作业第一题
- RFID第二次作业第二题
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业
- 第二次作业~~~~~
- 第二次作业
- 对视频压缩的小科普
- deeplearning_Optimization methods
- SQL Group by
- 【2014acm西安现场赛】A
- Python语言基础-01
- OJ第二次作业第三题
- faebdc的烦恼(二分查找+ST表实现RMQ)
- 一步一步教你在空闲空间中插入程序
- 51nod 1007 正整数分组 分组问题转换为背包问题
- 内存泄露初见
- 2017.10.23 測試總結并今日總結
- Java基础复习(章节三)
- hdu 4035 概率dp
- testng xml