首页 > 其他分享 >hdu2068 RPG的错排(错排)

hdu2068 RPG的错排(错排)

时间:2023-06-12 14:38:27浏览次数:40  
标签:hdu2068 错排 草儿 个人 LL RPG 抽中 野骆驼


思路:我们定义f(n)为n个人抽到的情况总数。对于第n个人,他要不抽中自己,即要抽中其他n-1个人,有n-1种可能,接下来讨论下,如果第n个人它抽中的人也抽中了第n个人,那么有f(n-2)种情况,如果第n个人抽中的人没有抽中第n个人,那么有f(n-1)可能,所以f(n)=(n-1)*(f(n-1)+f(n-2))。

           要至少猜对一半的人,所以总可能数为C(n/2,n)*f(n/2)累加即可


#include<iostream>
#include<cstdio>
using namespace std;
#define LL long long

LL C(int n,int m)
{
	LL u,d,i;
	if (m>n/2)
		m=n-m;
	for (u=d=i=1;i<=m;i++)
	{
		u=u*(n-i+1);
		d=d*i;
	}
	return u/d;
}
LL f[20];
int main()
{
    f[0]=1;
	f[1]=0;
	f[2]=1;
	for (int i = 3;i<=13;i++)
		f[i]=(i-1)*(f[i-1]+f[i-2]);
	int n;
	while (scanf("%d",&n)!=EOF && n)
	{
		LL sum=0;
        for (int i=0;i<=n/2;i++)
			sum+=C(n,n-i)*f[i];
		printf("%lld\n",sum);
	}
}




Description



今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁。RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔;第二次猜:R是草儿,P是月野兔,G是公主;第三次猜:R是草儿,P是公主,G是月野兔;......可怜的野骆驼第六次终于把RPG分清楚了。由于RPG的带动,做ACM的女生越来越多,我们的野骆驼想都知道她们,可现在有N多人,他要猜的次数可就多了,为了不为难野骆驼,女生们只要求他答对一半或以上就算过关,请问有多少组答案能使他顺利过关。



 



Input



输入的数据里有多个case,每个case包括一个n,代表有几个女生,(n<=25), n = 0输入结束。



 



Sample Input



1 2 0



 



Sample Output



1 1



 






标签:hdu2068,错排,草儿,个人,LL,RPG,抽中,野骆驼
From: https://blog.51cto.com/u_16156555/6462528

相关文章

  • unity学习日志5(麦扣老师3DRPG项目学习)
    设计模式单例模式(泛型单例)作用:提高代码复用率,增加代码可读性//实现泛型单例,并对T进行约束,规定只有各类manager使用单例模式publicclassSingleton<T>:MonoBehaviourwhereT:Singleton<T>{privatestaticTinstance;//通过属性来访问直接获取私有的静......
  • unity学习日志4(麦扣老师3DRPG项目学习)
    新的APIPhysics.OverLapSphere(位置(Vector3),半径(Float))函数功能:在该位置生成一个球体,返回一个数组(类型为collider),数组存储所有与球体接触和在球体内的拥有碰撞检测的物体链接直达:https://docs.unity.cn/cn/2021.3/ScriptReference/Physics.OverlapSphere.html项目中......
  • unity学习日志3(麦扣老师3DRPG项目学习)
    1.ShaderGraphy基本使用利用unity自带的菲利涅效果通过Multiply用Color使其改变颜色,操作如上如所示将需要调整的变量放到左上角中,即可和在inspector中随时调整shaderAlphaClipping:用于透明与非透明之间进行过渡AlphaThreshold代表阈值:没到达这个值不会进行渲染DithCoun......
  • ActionRPG-3-RPGGameAbility
    #pragmaonce#include"ActionRPG.h"#include"Abilities/GameplayAbility.h"#include"Abilities/RPGAbilityTypes.h"#include"RPGGameplayAbility.generated.h"/***Subclassofabilityblueprinttypewithgame-speci......
  • Burpgpt环境搭建
    进入https://github.com/aress31/burpgpt 下载Burpgpt源码,并按照要求配置  1、安装gradle和JDK11 gradlev7.4.2下载地址为:https://gradle.org/next-steps/?version=7.4.2&format=all解压并配置 创建文件夹:mkdir/opt/gradle/解压:unzip-dgradle-7.4.2-all.zip......
  • 【ACM组合数学 | 错排公式】写信
    题目链接:https://ac.nowcoder.com/acm/contest/54484/B题意很简单,但是数据范围偏大。错排公式首先来推导一下错排公式:$$D(n)=n!\sum_{k=0}^{n}\frac{(-1)^k}{k!}$$设一个函数:$$S_i表示一个排列中p_i=i的方案数$$那么我们可以知道:$$D(n)=n!-|\cup_{i=1}^{n}S_i|$$......
  • 【ACM组合数学 | 错排公式】写信
    题目链接:https://ac.nowcoder.com/acm/contest/54484/B题意很简单,但是数据范围偏大。错排公式首先来推导一下错排公式:\[D(n)=n!\sum_{k=0}^{n}\frac{(-1)^k}{k!}\]设一个函数:\[S_i表示一个排列中p_i=i的方案数\]那么我们可以知道:\[D(n)=n!-|\cup_{i=1}^{n}S_i|\]......
  • UE ActionRPG 项目拆解(一):熟悉 ActionRPG 有哪些功能
    依次点击“编辑”—>“项目设置“—>“输入”,查看游戏功能的默认快捷键。打开BP_PlayerCharacter蓝图重载IsAlive函数,使其始终返回true(这样我们操控的人物即使没血了也不会死亡,从而避免因为死亡导致游戏结束而影响我们游玩游戏的整个流程) ......
  • UE ActionRPG 项目拆解(三):默认武器斧子的 NormalAttack 技能对应哪个 GA ?
    参考官方文档:添加新的武器我们知道:每个武器都对应了 Items\Weapons文件下的某个“数据资产”(里面定义了该武器的名称、价格、技能等)。 在项目内容浏览器中找到默认武器(斧子)的蓝图GreateBladeActor,尝试删除它(可以看到它关联的“数据资产”是Weapon_Axe)打开“数据资产”......
  • UE ActionRPG 项目拆解(二):默认武器斧子的 Normal Attack 技能为着手点,了解 GAS 的使用
    按键触发技能绑定(按下NormalAttack绑定的快捷键时,调用DoMeleeAttack函数)DoMeleeAttack函数中,调用ActivateAbilitiesWithItemSlot函数ActivateAbilitiesWithItemSlot函数中,调用了 AbilitySystemComponent->TryActivateAbility()函数至此我们知道:按下NormalAttack绑......