ICPC--1206: 字符串的修改&1207:字符排列问题
1206: 字符串的修改题目描述设A和B是两个字符串 。 我们要用最少的字符操作次数 , 将字符串A转换为字符串B 。 这里所说的字符操作共有三种:
\1. 删除一个字符; \2. 插入一个字符; \3. 将一个字符改为另一个字符 。对任给的两个字符串A和B , 计算出将字符串A变换为字符串B所用的最少字符操作次数 。
输入第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于200 。
输出只有一个正整数 , 为最少字符操作次数 。
样例输入sfdxbqwgfdgw
样例输出4
代码#include using namespace std;int main(){int dp[210][210];char a[210], b[210];int i, j, len1, len2;scanf("%s", a);scanf("%s", b);len1 = strlen(a);len2 = strlen(b);for (i = 0; i <= len1; i++)dp[i][0] = i;for (i = 0; i <= len2; i++)dp[0][i] = i;for (i = 1; i <= len1; i++){for (j = 1; j <= len2; j++){if (a[i-1] == b[j-1])//相同dp[i][j] = dp[i - 1][j - 1];elsedp[i][j] = min(min(dp[i - 1][j] + 1, dp[i][j - 1] + 1), dp[i - 1][j - 1] + 1);}}cout << dp[len1][len2] << endl;return 0;}
1207: 字符排列问题题目描述有n个字母 , 列出由该字母组成的字符串的全排列(相同的排列只计一次) 。
输入第一行输入是字母个数n , 1<=n<=20 。 接下来一行输入的是待排列的n个字母 。
输出计算出的n 个字母的所有不同排列总数
样例输入4aacc
样例输出6
代码【ICPC--1206: 字符串的修改&1207:字符排列问题】#include#includeint j(int n){int sum = 1;for (int i = 1; i <= n; i++)sum *= i;return sum;}int main(){int n, b[27] = { 0 };char a[21];scanf("%d%s",int sum = j(n);int len = strlen(a);for (int i = 0; i < len; i++)b[a[i] % 97]++;for (int i = 0; i < 26; i++)if (b[i] > 0)sum /= j(b[i]);printf("%d\n", sum);return 0;}
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 行业|现在行业内客服托管费用是怎么算的
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 面临|“熟悉的陌生人”不该被边缘化
- 中国|浅谈5G移动通信技术的前世和今生
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面