Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173601 C班-杨渔 二进制计数游戏 C++ 无测评数据 0 0 MS 0 KB 523 2024-08-20 21:59:30

Tests(0/0):


#include <iostream> #define d64 long long using namespace std; d64 n,s,t,f[100][100]; d64 CC(d64 num) { int len,a[50]; for (len=0;num>0;num/=2) a[len++]=num%2; d64 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<50;++i) f[i][0]=f[0][i]=1; for (int i=1;i<50;++i) for (int j=1;j<50;++j) f[i][j]=f[i-1][j]+f[i-1][j-1]; cout<<CC(t)-CC(s-1); return 0; }