轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
把搬移次数数出来
👁️ 1 人浏览
💬 0 人评论
❤️ 添加收藏
补全扩容那三步,输出「总搬移个数/单次最多搬几个」。
(本题用
g++ -std=c++17 -O0
编译。)
提交你的答案
请登录后提交答案。
去登录
← 改成每次只加一格呢
两种扩容策略总账差多少 →
更多题目
改成"你好,有词"
输出"100 分"
把年龄改成 20
输出学习天数 30
修复:给文字加引号
修复:补上右括号
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
#include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; int dbl(int c) { return c * 2; } int inc1(int c) { return c + 1; } // 模拟 n 次 push_back:返回 {一共搬了多少个元素, 单次最多搬几个} pair<int, int> moves(int n, int (*grow)(int)) { int cap = 1, size = 0, total = 0, worst = 0; for (int k = 0; k < n; k++) { if (size == cap) { // TODO: 要扩容了——total 加上 size;worst 记下最大的那一次;cap 换成 grow(cap) } size++; } return {total, worst}; } int main() { auto [t, w] = moves(16, dbl); cout << t << "/" << w << endl; }
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论