首页 > 其他分享 >蓝桥杯2014国A-排列序数(待续)

蓝桥杯2014国A-排列序数(待续)

时间:2024-04-09 11:11:59浏览次数:23  
标签:待续 排列 样例 蓝桥 str 序号 2014

[蓝桥杯 2014 国 A] 排列序数

题目描述

如果用 a b c d 这 \(4\) 个字母组成一个串,有 \(4!=24\) 种,如果把它们排个序,每个串都对应一个序号:

  abcd  0
  abdc  1
  acbd  2
  acdb  3
  adbc  4
  adcb  5
  bacd  6
  badc  7
  bcad  8
  bcda  9
  bdac  10
  bdca  11
  cabd  12
  cadb  13
  cbad  14
  cbda  15
  cdab  16
  cdba  17
  ...

现在有不多于10个两两不同的小写字母,给出它们组成的串,你能求出该串在所有排列中的序号吗?

输入格式

一行,一个串。

输出格式

一行,一个整数,表示该串在其字母所有排列生成的串中的序号。注意:最小的序号是 \(0\)。

样例 #1

样例输入 #1

bdca

样例输出 #1

11

样例 #2

样例输入 #2

cedab

样例输出 #2

70

提示

时限 1 秒, 256M。蓝桥杯 2014 年第五届国赛

2.题解

2.1 全排列 next_permutation

思路

由于友好的 0 < n <= 10范围, 使用时间复杂度为O(n!)的全排列函数是没有问题的!
很简单的思路,全排序遍历即可.

代码

#include<bits/stdc++.h>
using namespace std;
int ans = 0; 
int main() {
	string str;
	cin >> str;
	string temp = str;
	sort(str.begin(), str.end());
	do {
		if(str == temp) break;
		ans++;
	} while(std::next_permutation(str.begin(), str.end()));
	cout << ans;
}

2.2 待补充

思路

代码


标签:待续,排列,样例,蓝桥,str,序号,2014
From: https://www.cnblogs.com/trmbh12/p/18123442

相关文章

  • 【蓝桥·算法双周赛 第 9 场 小白入门赛】字符迁移【算法赛】题解(字符串+模运算+差分)
    思路差分数组是一种特殊的数组,它的第iii个数定义为原数组的第ii......
  • 【蓝桥·算法双周赛 第 4 场 小白入门赛】自助餐【算法赛】题解(分支+字符串)
    思路首先定义一个整型变量n和一个长整型变量ans,其中n用于存放输入的字符串个数,ans则用于累计所有字符串对应的价格。在接收到n之后,进入一个循环,在循环中,每次接收一个字符串s,并根据s的首字母判断该字符串对应的餐盘种类,并将其价格累加到ans中。具体来说,如果......
  • 蓝桥杯2018年A组-付账问题
    0.题目题目描述几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有\(n\)个人出去吃饭,他们总共消费了\(S\)元。其中第\(i\)个人带了\(a_i\)元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希......
  • 第十五届蓝桥杯第三期模拟赛 《台阶问题》
    问题描述小蓝要上一个楼梯,楼梯共有n级台阶(即小蓝总共要走n级)。小蓝每一步可以走a级、b级或c级台阶。请问小蓝总共有多少种方案能正好走到楼梯顶端?输入格式输入的第一行包含一个整数n。第二行包含三个整数a,b,c。输出格式输出一行包含一个整数,表示答案。答......
  • 第十四届蓝桥杯省赛研究生组python
    目录试题A:工作时长excel处理代码试题B:分糖果试题C:填充试题D:互质数的个数题解:暴力试题E:阶乘的和题解:暴力+备忘录试题F:公因数匹配题解:暴力试题G:小蓝的旅行计划题解试题A:工作时长excel处理把数据复制到excel,并选中列右键选择设置单元格格式注意:因为求和之后总小时数可能会超过2......
  • 蓝桥杯赛前突击
    蓝桥杯赛前突击1.大纲精读官方只支持Dev-cpp5.11(和平时用的差不多)。C++11的使用,在Dev-cpp工具里面选择编译选项输入-std=c++11并选择编译时加入以下命令。是支持使用unordered_map和auto的,还有__int128。一定要记得return0;去年听说是没return0;......
  • 蓝桥杯,推导部分和
    题意:给定若干个区间端点与区间和,还有若干个查询,求该查询的区间和。思路:带权并查集。总结:区间左端点-1是为了左开右闭(也可以右端点+1)。比如[1,2]=(0,2]=5,[3,4]=(2,4]=6。这样就得到了[1,4]=11(查询1可以直接得到代表元素4),处理边界情况更方便。可以思考一下,如果不......
  • 蓝桥杯2023年A组-试题D-平方差
    0.题目1.题解1.1基于中心扩展的字符串处理算法思路我们可以选定一个中心,然后从中心开始,向外扩展我们的子串,且能存储之前子串的部分性质(这里便于左等于右的情况)0.确定中心点这里我们用外层一个大循环来表示,中心点即为变量i。首先分为子串为奇数串和偶数串的情......
  • 【每周例题】蓝桥杯 C++ 对称排序
    对称排序题目对称排序 题目分析1.因为数字是对称交换,所以我们只需要判断前n/2项需不需要交换就好了2.这里我采用了升序排序,你们也可以尝试降序排序3.我们只需要排序好后再遍历一下整个数组,找出不符合排序的就输出NO就好了代码#include<iostream>#include<bits/stdc+......
  • 第十四届蓝桥杯单片机省赛
    第一部分客观题1.D2.BD3.CA时序逻辑电路是一类具有记忆功能且其输出不仅依赖于当前输入信号,还依赖于电路过去状态的数字电路。常见的时序逻辑电路包括但不限于以下几种类型:1.**触发器**:最基本的存储单元,如RS触发器、JK触发器、D触发器、T触发器等。2.**寄存器**:由多......