当前位置: 首页 > news >正文

天梯赛L2题解(029-032)

L2-029 特立独行的幸福

题面看了犯恶心,没见过这么读起来这么难受的题面,遍历每个数的时候,对每个数操作,如果路径里有的答案就不要了(因为显然这个数是个依附别的数的数),然后注意一下当前这个数要不是依附别的数的数才能算进答案里

#include <bits/stdc++.h>
using namespace std;
#define int long longint isp(int x) {if (x == 1)return 1;for (int i = 2; i * i <= x; ++i) {if (x % i == 0)return 1;}return 2;
}void ylh_() {int l, r;cin >> l >> r;map<int, int> mp;set<int> ex;for (int i = l; i <= r; ++i) {int cur = i;int cnt = 0;set<int> st;st.insert(cur);while (1) {int sum = 0;while (cur) {sum += (cur % 10) * (cur % 10);cur /= 10;}cur = sum;if (mp.count(cur)) {mp.erase(cur);}if (cur == 1)break;if (st.count(cur))break;st.insert(cur);ex.insert(cur);}if (cur == 1 && !ex.count(i)) {mp[i] = st.size() * (isp(i));ex.insert(i);}}if (mp.size() == 0) {cout << "SAD";return;}for (auto [a, b] : mp) {cout << a << ' ' << b << '\n';}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-030 冰岛人

注意一种情况就是,可能两个人的公共祖先存在,但是只在一个人的五代以内
因为没给数据范围写了一发暴力发现可以过

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n;cin >> n;map<string, int> sex;map<string, string> fa;for (int i = 1; i <= n; ++i) {string x, y;cin >> x >> y;char ed = *(y.end() - 1);if (ed == 'm') {sex[x] = 1;fa[x] = "-1";} else if (ed == 'f') {sex[x] = 0;fa[x] = "-1";} else if (ed == 'n') {sex[x] = 1;for (int j = 1; j <= 4; ++j)y.pop_back();fa[x] = y;} else {sex[x] = 0;for (int j = 1; j <= 7; ++j) {y.pop_back();}fa[x] = y;}}auto check = [&](string x, string y) -> bool {vector<string> fx, fy;string cur = x;fx.push_back(x);for (int i = 0; i < 3; i++) {if (fa[cur] != "-1") {cur = fa[cur];fx.push_back(cur);} else {break;}}cur = y;fy.push_back(y);for (int i = 0; i < 3; i++) {if (fa[cur] != "-1") {cur = fa[cur];fy.push_back(cur);} else {break;}}for (auto s1 : fx) {for (string j = y; j != "-1"; j = fa[j]) {if (s1 == j) {return false;}}}for (auto s2 : fy) {for (string j = x; j != "-1"; j = fa[j]) {if (s2 == j) {return false;}}}return true;};int q;cin >> q;while (q--) {string x, y, z;cin >> x >> z >> y >> z;if (!sex.count(x) || !sex.count(y)) {cout << "NA\n";continue;}if (sex[x] == sex[y]) {cout << "Whatever\n";continue;}if (check(x, y)) {cout << "Yes\n";} else {cout << "No\n";}}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-031 深入虎穴

注意一号点不是入口,找到入口的方式就是找到入度为0的点就行了

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n;cin >> n;int st = 0;vector<int> d(n + 1);vector<vector<int>> g(n + 1);for (int i = 1; i <= n; ++i) {int m;cin >> m;for (int j = 1; j <= m; ++j) {int v;cin >> v;g[i].push_back(v);++d[v];}}for (int i = 1; i <= n; ++i) {if (d[i] == 0) {st = i;}}int ans = 1;int mxdep = 1;auto dfs = [&](auto&& dfs, int u, int dep) -> void {if (dep > mxdep) {mxdep = dep;ans = u;}for (auto v : g[u]) {dfs(dfs, v, dep + 1);}};dfs(dfs, st, 1);cout << ans;
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-032 彩虹瓶

用个栈表示货架就行了

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n, m, k;cin >> n >> m >> k;stack<int> st;for (int i = 1; i <= k; ++ i) {bool ok = 1;int cur = 1;for (int j = 1; j <= n; ++ j) {int x;cin >> x;if (x == cur) {++ cur;while (!st.empty() && st.top() == cur) {++ cur;st.pop();}} else {if (st.size() < m) {st.push(x);} else {ok = 0;}}}if (st.size()) {ok = 0;}if (ok) {cout << "YES\n";} else {cout << "NO\n";}while (st.size()) st.pop();}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}
http://www.jsqmd.com/news/539706/

相关文章:

  • 像素幻梦创意工坊实战:为Unity游戏项目批量生成像素资源包
  • Markdown Viewer浏览器插件:快速预览Markdown文档的终极指南
  • 拖拽生成!这款编辑器做到了!告别代码妥妥的!
  • 下载 | Win11 25H2 官方正式版ISO映像!(3月更新、消费者版/专业版、商业版/企业版、26200.8037)
  • CSS 渐变的高级应用:色彩的流动艺术
  • 保姆级教程:用C语言数组手算1000的阶乘,解决PTA编程题(附完整代码)
  • 2026深圳美国留学申请中介推荐,高端美国留学中介服务流程与口碑盘点 - 品牌2026
  • 如何快速掌握茉莉花插件:面向中文文献管理者的终极Zotero优化指南
  • OpenClaw QQ 插件 v0.6.0 发布:率先适配OpenClaw新版本Plugin-SDK
  • 优麦云亚马逊营销云AMC功能与作用精准解析 | 最新优惠码速领 - 麦麦唛
  • 滚动轴承故障诊断系统设计:基于凯斯西储大学数据
  • 别等 Sora 了!一代神话陨落?OpenAI 这一手“弃车保帅”我看懂了...
  • 自适应模型预测控制在无人驾驶汽车轨迹跟踪中的应用
  • YOLO入门
  • 流式液相检测技术(CBA)研究进展
  • 做小月子要注意什么?科学修护指南
  • C++基础笔记(7):拷贝构造函数
  • 函数式编程的架构目标
  • 2026SAT精品小班辅导机构怎么选?高分备考优质SAT小班机构测评 - 品牌2026
  • 纯手工搭建:基于Matlab/Simulink的增程式混合动力汽车建模仿真模型教程
  • 【笔记】用cursor手搓cursor(三)简单尝试claude code
  • 开发者效率周刊 #01
  • 基于 Matlab 的球轴承拟静力学计算:探索不同参数下的生热量
  • 2026年3月广州装饰装修公司选择指南:办公室装修,厂房装修,商铺装修,酒店装修,会所装修,林迪装饰深耕工装领域的专业服务提供商 - 海棠依旧大
  • 2026年四川免砸砖维修厂家哪家强 精准找漏长效修复适配多场景需求 - 深度智识库
  • RVC语音转换精度评测:MOS分对比、频谱图相似度、F0曲线拟合效果
  • 西门子1500PLC饮料罐装线:从代码到螺丝刀的全栈开发实录
  • 大车相撞事故道路交通事故快速勘查系统厂商哪家好?安全高效优先 - 品牌2026
  • Ubuntu 安装完成后网络配置教程
  • DMXAPI 下的 PostgreSQL MCP Tool 使用笔记:少一点幻想,多一点可审计的能力