习题:玩游戏(水题)

题目

传送门

思路

比较水的一道题,

只要知道\(a+b=\sum_{i=1}^{n}i\)

之后模拟一下就行了

代码

#include<iostream>
#include<vector>
using namespace std;
long long a,b;
long long s=0;
long long k=1;
long long t=0;
vector<int> v;
int main()
{
    cin>>a>>b;
    s=a+b;
    while(s>0)
    {
        s-=k;
        k++;
    }
    k--;
    if(s<0)
        cout<<"No";
    else
    {
        for(int i=k;i>=1;i--)
        {
            if(a-i>=0)
            {
                a-=i;
                v.push_back(i);
            }
        }
        if(a>0)
            return 0;
        cout<<k;
        for(int i=v.size()-1;i>=0;i--)
            cout<<' '<<v[i];
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/loney-s/p/11962305.html