求助汉诺塔板子题
查看原帖
求助汉诺塔板子题
724958
lixuanyan楼主2022/6/22 17:27
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define mod 1000007
int n, l;
int now, cnt;

signed main() {
    cin >> n;
    int sum = 0;
    for (int i = 1; ; i *= 2, i %= mod) {
        cnt++, now += cnt;
        sum += cnt * i, sum %= mod;
        if (now >= n) { l = i; break; }
    }
    //cout << sum << endl;
    sum -= (now % mod - n % mod) % mod * l % mod;
    cout << sum << endl/* << now << " " << l << endl << cnt*/;
    return 0;
}

最后三个点死活过不去,WA

2022/6/22 17:27
加载中...