#P7000. *【入门题练习(难度:2):思维】数树
*【入门题练习(难度:2):思维】数树
Description
sky 创造了一个画树游戏,使用 $N$ 种颜色来画一棵树。这个画树游戏有以下规则:1. 第 $i$ 棵树的节点数不能超过 $i$。也就是说,第一棵树只能有一个节点,第二棵树不能超过两个节点,第三棵树不能超过三个节点,以此类推。
2. 前面的任意一棵树不能是新画的一棵树的子树。或者说,新画的树不能通过删去一些点或边来变成前面的任意一棵树。
这个游戏,就是规定了 $N$,看谁能画出更多的树来。
假如你是 aqua,现在你有一支笔,它剩余的笔水只支持让你画出最多 $x$ 棵树。你现在要和 sky 一起玩这个游戏,规定了 $N$,问最多可以画出几棵树?
Input Format
输入两个整数 $N,x$,用空格隔开。Output Format
输出最多可以画出几棵树。2 1145143
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;
}