Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
52413 teacher_lu 猜数字 C++ 通过 350 MS 252 KB 541 2024-10-05 14:08:35

Tests(16/16):


#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; }


测评信息: