当前位置:网站首页>691. 立方体IV
691. 立方体IV
2022-08-05 06:42:00 【NEFU AB-IN】
Powered by:NEFU AB-IN
文章目录
691. 立方体IV
题意
Vincenzo 决定制作立方体 IV,但所有预算只够制作一个正方形迷宫。
它是一个完美的迷宫,每个房间都呈正方形,并具有 4 扇门(四个边一边 1 个)。
每个房间里都有一个号码。
一个人只有在下一个房间的号码比当前房间的号码大 1 的情况下,才能从当前房间移动到下一个房间。
现在,Vincenzo 为所有房间分配了唯一的号码(1,2,3,…S2)然后将 S2 个人放在了迷宫中,每个房间 1 个,其中 S 是迷宫的边长
能够移动次数最多的人将获胜。
弄清楚谁将成为赢家,以及他将能够到达的房间数量。思路
记忆化搜索板子题
代码
/* * @Author: NEFU AB-IN * @Date: 2022-08-04 15:03:57 * @FilePath: \Acwing\691\691.cpp * @LastEditTime: 2022-08-04 15:56:20 */ #include <bits/stdc++.h> using namespace std; #define int long long #define SZ(X) ((int)(X).size()) #define IOS \ ios::sync_with_stdio(false); \ cin.tie(0); \ cout.tie(0) #define DEBUG(X) cout << #X << ": " << X << '\n' typedef pair<int, int> PII; const int INF = INT_MAX; const int N = 1e6 + 10; void solve(int T) { int n; cin >> n; vector<vector<int>> g(n + 10, vector<int>(n + 10)), f(n + 10, vector<int>(n + 10, -1)); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) { cin >> g[i][j]; } } int d = 0, r = n * n; function<int(int, int)> dp = [&](int x, int y) { if (f[x][y] != -1) return f[x][y]; // 如果遍历到了直接返回 f[x][y] = 1; // 初始化走一步 vector<PII> dir = { { -1, 0}, { 0, -1}, { 1, 0}, { 0, 1}}; for (int i = 0; i < 4; ++i) { int xx = x + dir[i].first; int yy = y + dir[i].second; if (xx >= 1 && x <= n && yy >= 1 && yy <= n && g[xx][yy] == g[x][y] + 1) { f[x][y] = max(f[x][y], dp(xx, yy) + 1); } } return f[x][y]; }; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) { int step = dp(i, j); if (step > d || (step == d && g[i][j] < r)) { d = step; r = g[i][j]; } } } printf("Case #%lld: %lld %lld\n", T, r, d); return; } signed main() { IOS; int T; cin >> T; for (int i = 1; i <= T; ++i) { solve(i); } return 0; }
边栏推荐
- 2022最强版应届生软件测试面试攻略
- 原来使Maya Arnold也能渲染出高质量作品!超赞小技巧
- Vulnhub靶机:HA_ NARAK
- 技术分析模式(八)双顶和底
- TCP sticky packet unpacking problem + solution
- Falsely bamboo brother today and found a localization of API to use tools
- UDP group (multi)cast
- After working for 3 years, I recalled the comparison between the past and the present when I first started, and joked about my testing career
- 香港国际珠宝展及香港国际钻石、宝石及珍珠展揭幕
- 在STM32中使用printf函数
猜你喜欢
Falsely bamboo brother today and found a localization of API to use tools
binary search tree problem
TCP sticky packet unpacking problem + solution
任务流调度工具AirFlow,,220804,,
2022最强版应届生软件测试面试攻略
RNote108---Display the running progress of the R program
在anaconda Promat界面import torch通过,在jupyter notebook中报错的问题(仅提供思路理解!)
【2022 DSCTF决赛wp】
Hash 这些知识你也应该知道
矩阵的构造
随机推荐
更改小程序原生radio的颜色及大小
香港国际珠宝展及香港国际钻石、宝石及珍珠展揭幕
任务流调度工具AirFlow,,220804,,
微信小程序仿input组件、虚拟键盘
Using printf function in STM32
ndk编译so库
h5页面回退到微信小程序并携带参数
Redis进阶
(4) Rotating object detection data roLabelImg to DOTA format
2022 Fusion Welding and Thermal Cutting Operation Certificate Exam Questions and Mock Exams
protobuf根据有关联的.proto文件进行编译
Libpq 是否支持读写分离配置
LabVIEW中如何实现任意形状的不规则按键
Redis
360度反馈调查表中的问题示范
2022起重机司机(限桥式起重机)考试题库及模拟考试
Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
Shared memory + inotify mechanism to achieve multi-process low-latency data sharing
(JLK105D)中山爆款LED恒流电源芯片方案
不能比较或排序 text、ntext 和 image 数据类型