#P7000. *【入门题练习(难度:2):思维】数树

*【入门题练习(难度:2):思维】数树

Description

sky 创造了一个画树游戏,使用 $N$ 种颜色来画一棵树。这个画树游戏有以下规则:

1. 第 $i$ 棵树的节点数不能超过 $i$。也就是说,第一棵树只能有一个节点,第二棵树不能超过两个节点,第三棵树不能超过三个节点,以此类推。
2. 前面的任意一棵树不能是新画的一棵树的子树。或者说,新画的树不能通过删去一些点或边来变成前面的任意一棵树。

这个游戏,就是规定了 $N$,看谁能画出更多的树来。

假如你是 aqua,现在你有一支笔,它剩余的笔水只支持让你画出最多 $x$ 棵树。你现在要和 sky 一起玩这个游戏,规定了 $N$,问最多可以画出几棵树?

Input Format

输入两个整数 $N,x$,用空格隔开。

Output Format

输出最多可以画出几棵树。
2 114514
3

Hint

样例解释:

第一棵树是颜色为 $1$ 的一个节点,第二棵树是两个节点都为颜色 $2$ 的一条链,第三棵树是颜色为 $2$ 的一个节点。

不难证明,没有能够画出更多树的方案。

对于 $100\%$ 的数据,$0\le N\le10^3$,$0\le x\le10^9$。


//搬运自 https://www.luogu.com.cn/problem/U482217
//一句话题意:输出 min(TREE(N),x) 
#include<bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int n,x;cin>>n>>x;
	int ans=1e9;
	if(n==0)ans=0;
	if(n==1)ans=1;
	if(n==2)ans=3;
	cout<<min(ans,x);
	return 0;
}

Source

cff_0102 aqua_qaq