A

来源:互联网 发布:上瘾网络剧拍摄花絮5 编辑:程序博客网 时间:2024/06/05 15:36






代码:

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;typedef long long LL;LL f[35][35]; LL x, y, b;int pos[35];int len;void init(){memset(f, 0, sizeof(f));f[0][0] = 1;for (int i = 1; i <= 32; i++){f[i][0] = f[i - 1][0];for (int j = 1; j <= i; j++){f[i][j] = f[i - 1][j - 1] + f[i - 1][j];}}}LL solve(LL t, LL k){len = 1;while (t){pos[len++] = t % b;t /= b;}LL ans = 0;for (int i = len - 1; i >= 1; i--){if (pos[i] > 1){ans += f[i - 1][k] + f[i - 1][k - 1];break;}else if (pos[i] == 1){ans += f[i - 1][k];k--;}if (k < 0)break;}return ans;}int main(){ios::sync_with_stdio(false); init();LL k;while (cin >> x >> y >> k >> b){cout <<  solve(y + 1, k) - solve(x, k)<< endl;}return 0;}



原创粉丝点击