社区讨论
不是最优解!求最优!
P9748[CSP-J 2023] 小苹果参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lohbwung
- 此快照首次捕获于
- 2023/11/02 23:15 2 年前
- 此快照最后确认于
- 2023/11/03 19:28 2 年前
我觉得我的代码很可以了, 的复杂度,竟然离最优解还差好多,各位大佬能不能给个最优解法?
CPP#include <cstdio>
int main()
{
bool flag = true;
int n, ans1 = 0, ans2 = 0;
// 输入
scanf("%d", &n);
// 处理
while (n)
{
++ans1;
if (flag && n % 3 == 1) // if (n == 3k + 1) k ∈ Z
ans2 = ans1, flag = false;
n -= (n + 2) / 3;
}
// 输出
printf("%d %d\n", ans1, ans2);
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...