交友问题 | 动态规划

news/2024/11/14 5:18:26/

描述

如果有n个人,每个人都可以保持单身或与其他人结成一对。每个人只能找一个对象。求总共有多少种保持单身或结对的方式。用动态规划求解。

输入

输入第一行t表示测试用例的数量

对于每一个测试用例, 输入一个整数n表示人数1<=n<=18

输出

针对每个测试用例,输出一个整数表示保持单身或结对的方式总数,末尾无换行

输入样例 1 

1
3

输出样例 1

4
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>
#include <functional>
using namespace std;
typedef long long int ll;ll t=0,n=0,i,j,sum=0;
ll dp[1001]={0};
/*
ll C(ll n,ll m){return (tgamma(n+1))/(tgamma(m+1)*tgamma(n-m+1));
}
*/
ll C(ll n ,ll m){int i,j;ll ans=1;for(i=n;i>n-m;i--){ans*=i;}for(i=1;i<=m;i++){ans/=i;}return ans;
}main(){//cout << C(0,0);cin >> t;while(t>0){cin >> n;for(i=0;i<=n;i++){if(i<=2){dp[i]=i;}else{dp[i]=dp[i-1]+(i-1)*dp[i-2];}}cout << dp[n] << "\n";t--;}
}

 


http://www.ppmy.cn/news/1546844.html

相关文章

java版嘎嘎快充汽车单车充电系统源码系统jeecgboot

汽车使用云快充1.6 1.5协议&#xff0c;单车用的铁塔协议 前端uniapp、后端jeecgbootvue2

(蓝桥杯C/C++)——动态规划(DP)

目录 一、线性DP 1.DP(动态规划)简介 2.动态规划的分析步骤 3.例题讲解 二、二维DP 1.二维DP简介 2.选数异或 三、最长上升子序列LIS 1.LIS简介 2.例题讲解 四、最长公共子序列LCS 1.最长公共子序列 2.最长公共子序列 2.求出具体子序列 一、线性DP 1.DP(动态规划)…

内存大小的单位转换

计算机中内存大小的单位转换通常是按照以下规则进行的&#xff1a; 基本单位 1 字节 (Byte) 8 位 (bit) 常见的内存单位及转换关系 1 字节 (Byte) 8 位 (bit)1 千字节 (KB) 1,024 字节 (B)1 兆字节 (MB) 1,024 千字节 (KB) 1,024 * 1,024 字节 (B)1 吉字节 (GB) 1,02…

浅谈QT用法

一、基本介绍 C 是一种通用的、静态类型的、大小写敏感的、自由格式的编程语言&#xff0c;支持过程化编程、面向对象编程和泛型编程。它最初由 Bjarne Stroustrup 在 1979 年在贝尔实验室开始开发&#xff0c;目的是扩展和改进 C 语言。 Qt 是一个跨平台的 C 应用程序框架&am…

1小时构建Vue3知识体系之vue的生命周期函数

本文转载自&#xff1a;https://fangcaicoding.cn/course/12/63 大家好&#xff01;我是方才&#xff0c;目前是8人后端研发团队的负责人&#xff0c;拥有6年后端经验&3年团队管理经验。 系统学习践行者&#xff01;近期在系统化输出前端入门相关技术文章&#xff0c;期望能…

抽象工厂模式详解

1. 引言 1.1 设计模式概述 设计模式&#xff08;Design Patterns&#xff09;是软件开发中解决常见问题的一种最佳实践。它们通过总结经验&#xff0c;提供了一套被验证有效的代码结构和设计原则&#xff0c;帮助开发者提高代码的可维护性、可重用性和可扩展性。 设计模式主…

重学 Android 自定义 View 系列:动手实现专属 TextView

前言 前面一篇介绍了自定义View的基础概念(皮毛)&#xff0c;接下来全部是自定义View实战&#xff0c;让我们一起开启自定义View之旅吧&#xff01; 1. 实现目标 本篇将实现一个自定义的TextView&#xff0c;通过自定义属性让我们可以配置文本内容、颜色、字体大小。主要是掌…

命令行工具进阶指南

&#x1f680; 命令行工具进阶指南&#xff1a;Git、Shell与效率工具的进阶之路 掌握命令行工具&#xff0c;让你的开发效率突飞猛进。本文将深入探讨 Git 高级技巧、Shell 脚本自动化以及各种效率倍增的 CLI 工具。 &#x1f4d1; 目录 Git 高级技巧与工作流Shell 脚本自动化…