首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【UESTC】1423 - Run Step(打表 & 组合)

【UESTC】1423 - Run Step(打表 & 组合)

作者头像
FishWang
发布2025-08-26 14:32:52
发布2025-08-26 14:32:52
1210
举报

题目链接:点击打开链接

把每种情况都列举出来,然后进行一次组合。

代码如下:

代码语言:javascript
复制
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <cmath>
using namespace std;
#define CLR(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define LL long long
LL ans[102];
LL C[40][40];
void GetC()
{
	for (int i = 1 ; i <= 40 ; i++)
		C[i][i] = C[i][0] = 1 , C[i][1] = i;
	for (int i = 3 ; i <= 40 ; i++)
	{
		for (int j = 2 ; j < i ; j++)
			C[i][j] = C[i-1][j-1] + C[i-1][j];
	}
}
LL solve(int n)
{
	int two = n >> 1;
	if (two & 1)
		two--;
	int one = n - 2*two;
	ans[n] = 0;
	while (two >= one)
	{
		ans[n] += C[(one+two)>>1][two/2]*C[(one+two)>>1][two/2];
		two -= 2;
		one = n - 2*two;
	}
}
int main()
{
	GetC();
	for (int i = 2 ; i <= 100 ; i += 2)
		solve(i);
	int u;
	scanf ("%d",&u);
	int Case,n;
	while (u--)
	{
		scanf ("%d %d",&Case,&n);
		printf ("%d %lld\n",Case,ans[n]);
	}
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档