

A September#
题目描述#
有 个字符串 问有几个字符串满足
太简单不需要解释
参考代码#
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define pii std::pair<int ,int>
#define fix(x) std::fixed << std::setprecision(x)
const int inf = 1e17 + 50, MAX_N = 1e5 + 50, mod = 1e9 + 7;
void solve() {
	int ct = 0;
	for(int i = 0; i < 12; i++) {
		std::string s;
		std::cin >> s;
		if (s.size() == i + 1) ct++;
	}
	std::cout << ct << endl;
}
signed main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr), std::cout.tie(nullptr);
	solve();
	return 0;
}cppB 1D Keyboard#
题目描述#
给定长度为 的字符串,并且保证字符串每个英文字母只出现一次,当前第 步时处于 点, 问需要走多少步会使得字符串所走过的路径为 .简单点说就是从 点走到 点,再到 点,以此类推,知道 点,至少需要走多少步?
解题思路#
由于字符串中一个字母只会出现一次,我们就可以将每个字母的位置记录下来,然后再依次算出相邻两个点的距离,即可得出答案.
参考代码#
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define pii std::pair<int ,int>
#define fix(x) std::fixed << std::setprecision(x)
const int inf = 1e17 + 50, MAX_N = 1e5 + 50, mod = 1e9 + 7;
void solve() {
	std::string s;
	std::cin >> s;
	std::map<char, int> mp;
	for(int i = 0; i < s.size(); i++) {
		mp[s[i]] = i;
	}
	int now = mp['A'];
	int w = 0;
	mp.erase('A');
	for(auto [c, pos] : mp) {
		w += abs(now - pos);
		now = pos;
	}
	std::cout << w << endl;
}
signed main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr), std::cout.tie(nullptr);
	solve();
	return 0;
}cppC Max Ai+Bj#
题目描述#
给你两个整数序列 和 ,每个长度为 。请选择整数 使其长度最大化。 使 的值最大。输出最大值。
解题思路#
选择尽量大的 使得 最大,为了使得和最大,只需要分别选择两个数组的最大值,才能使得和最大。
参考代码#
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define pii std::pair<int ,int>
#define fix(x) std::fixed << std::setprecision(x)
const int inf = 1e17 + 50, MAX_N = 1e5 + 50, mod = 1e9 + 7;
void solve() {
	int n;
	std::cin >> n;
	std::vector<int> a(n), b(n);
	for(int i = 0, x; i < n; i++) {
		std::cin >> a[i];
	}
	for(int i = 0, x; i < n; i++) {
		std::cin >> b[i];
	}
	std::sort(a.begin(), a.end());
	std::sort(b.begin(), b.end());
	std::cout << a[n - 1] + b[n - 1] << endl;
}
signed main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr), std::cout.tie(nullptr);
	solve();
	return 0;
}cpp