习题:玩游戏(水题)

题目

传送门

思路

比较水的一道题,

只要知道\(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;
}

posted @ 2019-11-30 14:23  loney_s  阅读(130)  评论(0)    收藏  举报