Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
169719 罗嘉为 二进制计数游戏 C++ 解答错误 60 0 MS 264 KB 628 2024-08-20 16:44:10

Tests(6/10):


#include <bits/stdc++.h> using namespace std; const int N = 50; int a[N]; int n, s, t; int f[51][51]; int c(int num){ int len; for(len = 0; num > 0; num /= 2) a[len++] = num % 2; long long ans = 0; for(int i = 0, cnt = 0; i < len && cnt < n; i++){ if(a[len - i - 1] == 1){ ans += f[len - i - 1][n - cnt]; cnt++; } } return ans; } int main(){ cin >> n >> s >> t; for(int i = 0; i < N; i++) f[i][0] = f[0][i] = 1; for(int i = 1; i < N; i++){ for(int j = 1; j < N; j++){ f[i][j] = f[i - 1][j] + f[i - 1][j - 1]; } } cout << c(t) - c(s - 1); return 0; }


测评信息: