Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173630 B班-陈曦 二进制计数游戏 C++ 无测评数据 0 0 MS 0 KB 528 2024-08-20 22:26:21

Tests(0/0):


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