Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
52413 | teacher_lu | 猜数字 | C++ | 通过 | 350 MS | 252 KB | 541 | 2024-10-05 14:08:35 |
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; #define ll long long int a[N], maxn; void dfs(int l, int r, int cnt) { // 递归出口 if(l > r) return ; int mid = (l + r) / 2; // 如何得到答案? 搜索次数最多的?出现了多少次? a[cnt]++; maxn = max(maxn, cnt); dfs(l, mid-1, cnt+1); dfs(mid+1, r, cnt+1); } int main() { int l, r; cin >> l >> r; dfs(l, r, 1); // l,r表示当前搜索区间的左右端点,1表示搜了多少次 cout << a[maxn]; return 0; }