题目描述:

活字印刷术是中国古代四大发明之一,今天我们要试着用计算机实现一个“活字印刷术”。现在输入一个字符串s,代表一套活字字模,其中每个字模上都刻有一个字母 s[i]。输出你可以印出的非空字母序列的数目。

输入描述:

输入数据由多组测试数据组成。每组测试数据第一行输入一个字符串s ( 1 <= s.length <= 10 ),s中所有字母均为大写字母

输出描述:

输出可以印出的非空字母序列数目

测试样例:

样例输入 1

AAB

样例输出 1

8

提示:

对于样例: 可能的序列为 "A", "B", "AA", "AB", "BA", "AAB", "ABA", "BAA"。

是真的笨比,这个题目我也没有想明白,我最开始想着把每种情况都存下来,然后去重的,t过了也m过了,后来发现我是笨蛋。。。。。

可以先把所有的字母都统计出来,然后每一位都尝试放一个字母,由于遍历的是26个字母,就不会有重复的情况(比如“AAA”,只有“A”, “AA”, “AAA”)

然后每次尝试前ans++,因为放下一个字母就会形成一个不同的字母序列

#include<bits/stdc++.h>
using namespace std;int arr[30];
string s;
int ans;
void dfs(){for(int i = 0; i < 26; i++){if(arr[i]){ans++;arr[i]--;dfs();arr[i]++;}}
}int main(){while(cin >> s){memset(arr, 0, sizeof(arr));int len = s.length();ans = 0;for(int i = 0; i < len; i++){arr[s[i] - 'A']++;}dfs();cout << ans << endl;}return 0;
}

ZJYYC 活字印刷 DFS相关推荐

  1. ZJYYOJ 活字印刷(dfs)[C,C++]

    目录 题目及翻译 题面 输入 输出 输入样例 输出样例 提示 题目思路 注意事项 AC代码 C/C++(几乎没有代码变更) 题目及翻译 题面 活字印刷术是中国古代四大发明之一,今天我们要试着用计算机实 ...

  2. LeetCode1079题:活字印刷——Python递归与迭代解法

    1. LeetCode1079题:活字印刷 你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i].返回你可以印出的非空字母序列的数目. 注意:本题中,每个活字字模只能使用一次. ...

  3. LeetCode 1079 活字印刷

    1079. 活字印刷 题目 思路 先计数,dfs组合枚举. 代码 class Solution {public:int numTilePossibilities(string tiles) {unor ...

  4. Leetcode.1079 活字印刷

    题目链接 Leetcode.1079 活字印刷 Rating : 1741 题目描述 你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i].返回你可以印出的非空字母序列的数目. ...

  5. [JS][dfs]题解 | #迷宫问题#

    题解 | #迷宫问题# 题目链接 迷宫问题 题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1 ...

  6. [C] [编程题]连通块(DFS解决)

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M 来源:牛客网 金山办公2020校招服务端开发工程师笔试题(一) 题目描述 给一个01矩阵,1代表是陆地,0代表 ...

  7. 【BZOJ2434】[NOI2011]阿狸的打字机 AC自动机+DFS序+树状数组

    [BZOJ2434][NOI2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P ...

  8. usaco snail trails(dfs)

    dfs啊,我还写了好长时间,一天不如一天. /* ID:jinbo wu TASK: snail LANG:C++ */ #include<bits/stdc++.h> using nam ...

  9. usaco shuttle puzzle(dfs剪枝)

    这题一看我也以为找规律,然后无法下手之后又想到bfs最后看题解是用dfs大神dfs用的出神入化. 不过这题好像可以找规律. /* ID:jinbo wu TASK: shuttle LANG:C++ ...

最新文章

  1. python ipython spyder
  2. matlab蚁群算法 降维,基于蚁群算法的路由问题研究
  3. C# 检测dll的新版本号方法
  4. Spring-学习笔记08【面向切面编程AOP】
  5. 在Matlab命令窗口中执行,交互式命令操作就是在MATLAB命令行窗口中输入命令并执行。...
  6. Windows与Linux下进程间通信技术比较
  7. php 可维护性的代码,软件的可复用性和可维护性
  8. Linux 下查看线程信息
  9. dedecms织梦上传图片302Error错误
  10. 【Java从0到架构师】Spring - IoC 控制反转、DI 依赖注入
  11. 2016.8.7 UnicodeEncodeError 同时遍历多个list
  12. Java SSH框架学习
  13. C# 注册dll的两种方式
  14. SSM框架讲解(史上最详细的文章)
  15. Linux学习简单教程和常用命令(小白学习法)
  16. Adobe Reader无法将数值DisableExceptionChainValidation写入键
  17. Spectral Clustering
  18. 大数据说婚恋--再不给女性减负,结婚率和出生率都升不回来了
  19. Propensity Score Matching
  20. vs修改程序图标、任务栏图标

热门文章

  1. 一文搞懂k近邻(k-NN)算法(一)
  2. Rook Ceph浅谈
  3. 王者服务器维护公告2月,王者荣耀2月22日体验服停机更新公告 英雄调整
  4. 更高更快更强 游戏引擎发展漫谈
  5. 那些年我做家教学过的东西_决策与风险decision and risk_1_贝叶斯推断Bayes Inference
  6. 自旋芯片什么时候应用到计算机,史上首次!硅量子计算机芯片的完整设计公布...
  7. zucc 可视化 大作业
  8. ZCMU 1600: 卡斯丁狗要吃糖葫芦
  9. 一文详解 Band Protocol :预言机博弈中的价值输出
  10. android adapter点击事件,Activity中响应Adapter的点击回调事件