专栏文章

P11697 [ROIR 2025] 二维蚱蜢 (Day 1) 题解

P11697题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqalm0k
此快照首次捕获于
2025/12/04 01:40
3 个月前
此快照最后确认于
2025/12/04 01:40
3 个月前
查看原文

(づ。◕‿‿◕。)づP11697 [ROIR 2025] 二维蚱蜢 (Day 1) 题解

起点是 (1,1)(1,1),终点是 (n,m)(n,m),所以我们要向上走 n1n-1 格,向右走 m1m-1 格。这里我们假设 nmn \ge m(若不满足则 swap(n,m),答案不变)。显然,斜着走比直着走更划算。所以我们可以先向右上方走 m1m-1 格,需要 (m1)+k1k\frac {(m-1)+k-1} k 次(向上取整,所以加 k1k-1)。再向上走 nmn-m 格,需要 (nm)+k1k\frac {(n-m)+k-1} k 次。相加即是答案。
参考代码:
CPP
#include <bits/stdc++.h>
using namespace std;
int n, m, k, ans;
int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin >> n >> m >> k;

    if (n < m)
        swap(n, m);

    n--;
    m--;
    ans += (m + k - 1) / k;
    ans += (n - m + k - 1) / k;
    cout << ans;
    return 0;
}   //code by wangzhechun
然后我们就可以完美的AC这道题啦~(≧▽≦)/~。

评论

0 条评论,欢迎与作者交流。

正在加载评论...