SMU Autumn 2024 Personal Round 1
SMU Autumn 2024 Personal Round 1
前言
拉了,后面有空再补补。
A. Lex String
思路
排序后取最小,记录连续取了几个,不要超过 \(k\) 个即可。
代码
#include <bits/stdc++.h> using namespace std; using i64 = long long; void solve() { int n, m, k; cin >> n >> m >> k; string a, b; cin >> a >> b; sort(a.begin(), a.end(), greater<>()); sort(b.begin(), b.end(), greater<>()); string c = ""; int o = 0, p = 0; while (n && m) { if (a[n - 1] < b[m - 1] && o < k || p >= k) { c += a[n - 1]; n --, o ++; p = 0; } else { c += b[m - 1]; m --, p ++; o = 0; } } cout << c << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { solve(); } return 0; }
B - Creep
思路
前面用01
或者10
串填满,后面放剩下的。
代码
#include <bits/stdc++.h> using namespace std; using i64 = long long; void solve() { int a[2]; cin >> a[0] >> a[1]; int n = a[0] + a[1] , k = a[0] > a[1] ? 0 : 1; string s = "01"; for (int i = 0; i < n; i ++) { if (a[0] && a[1]) { cout << s[k]; a[k] --; k ^= 1; } else { cout << s[k]; } } cout << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { solve(); } return 0; }
C. Mystic Permutation
思路
数据小,直接暴搜即可。
代码
#include <bits/stdc++.h> using namespace std; using i64 = long long; void solve() { int n; cin >> n; vector<int> p(n + 1); for (int i = 1; i <= n; i ++) { cin >> p[i]; } bool ok = 0; vector<int> ans(n + 1), vis(n + 1); auto dfs = [&](auto && self, int pos)->void{ if (ok) return; if (pos == n + 1) { ok = 1; for (int i = 1; i <= n; i ++) { cout << ans[i] << " \n"[i == n]; } return ; } for (int i = 1; i <= n; i ++) { if (ok) break; if (i != p[pos] && !vis[i]) { ans[pos] = i; vis[i] = 1; self(self, pos + 1); vis[i] = 0; } } }; dfs(dfs, 1); if (!ok) cout << "-1\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { solve(); } return 0; }
本文作者:Ke_scholar
本文链接:https://www.cnblogs.com/Kescholar/p/18450143
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步