欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ICPC NEAU Programming Contest 2020 I. 支付(拆分数)

程序员文章站 2022-05-12 11:44:38
...

ICPC NEAU Programming Contest 2020 I. 支付(拆分数)
思路:
鬼谷子的钱袋那题一样。
就是一半一半的分。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <iostream>
#include <map>
using namespace std;

typedef long long ll;

vector<ll>ans;
int cnt;

int main() {
    int T;scanf("%d",&T);
    while(T--) {
        ans.clear();
        cnt = 0;
        ll n;scanf("%lld",&n);
        while(n) {
            cnt++;
            ans.push_back((n + 1) / 2);
            n /= 2;
        }
        printf("%d\n",cnt);
        for(int i = ans.size() - 1;i >= 0;i--) {
            printf("%lld ",ans[i]);
        }
        printf("\n");
    }
    return 0;
}