摘要:
1.题目 题目描述 小 A 的学校,老师好不容易解决了蓝桥杯的报名问题,现在老师又犯愁了。 现在有 N 位同学参加比赛,但是老师想给他们排座位,但是排列方式太多了。 老师非常想弄明白最后的排座次的结果是什么样子的,到底有多少种结果。 请设计一个程序帮助老师。 最后输出各种情况的人名即可,一行一种情况 阅读全文
摘要:
0.题目 题目描述 小A的学校,蓝桥杯的参赛名额非常有限,只有 m 个名额,但是共有 n 个人报名。 作为老师非常苦恼,他不知道该让谁去,他在寻求一个绝对公平的方式。 于是他准备让大家抽签决定,即 m 个签是去,剩下的是不去。 小 A 非常想弄明白最后的抽签结果会有多少种不同到情况,请你设计一个程序 阅读全文
摘要:
0.题目介绍 【题目描述】 请你设计一个程序对该问题进行解答。 众所周知在扑克牌中,有一个老掉牙的游戏叫做 24 点,选取 4 张牌进行加减乘除,看是否能得出 24 这个答案。 现在小蓝同学发明了一个新游戏,他从扑克牌中依次抽出6张牌,注意不是一次抽出,进行计算,看是否能够组成 42 点,满足输出 阅读全文
摘要:
0.题目 1.题解 1.1 双指针暴力枚举 思路 思路很简单,但是最坏可能 \(O(n^2)\), 导致超时 代码 #include <bits/stdc++.h> using namespace std; const int M = 1e5; int ans = 0x7FFFFFFF; int a 阅读全文
摘要:
0.问题 C++中并没有类似split的分隔符函数,如何自建一个呢? 我们考虑使用getline来实现所需功能。 1.代码 #include <iostream> #include <string> #include <vector> #include <sstream> // 使用字符串流将字符串 阅读全文
摘要:
[蓝桥杯 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 阅读全文
摘要:
0.使用二进制方式求子集 例如: a5 a4 a3 a2 a1 1 1 1 1 1 1.代码模板 #include<bits/stdc++.h> using namespace std; int n; int a[] = {1,2,3,4,5,6,7,8,9,10}; // 求 a[0] -> a[ 阅读全文
摘要:
0.简介 在排列型枚举中,我们从给定的元素集合中选择出若干个元素的所有可能排列,这些排列考虑了元素的顺序. 1.代码模板 #include<bits/stdc++.h> using namespace std; int n; int order[20]; bool chosen[20]; // x代 阅读全文
摘要:
0.题目 1.题解 1.1 DFS搜索(失败) 思路 思路很简单,但是还有可能遇到重复的情况,比如像3->35->353 和 5->53->533 是重复的 但是递归过深,导致超时. 代码 #include<bits/stdc++.h> #define ll long long using name 阅读全文
摘要:
1.题目 2.题解 2.1 使用unordered_map存储键值对,使用vector存储城市输入顺序 思路 主要是这里unordered_map无法保存顺序,map会自动排序,所以保存一手输入顺序 unordered_map<string, vector> mp; 这里的vector自动初始化创建 阅读全文