#M9025. 组合数学

组合数学

当前没有测试数据。

  1. 每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例如,00000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有_____个。 {{ input(1) }}

  2. 在NOI期间,主办单位为了欢迎来自各国的选手,举行了盛大的晚宴。在第十八桌,有5名大陆选手和5名港澳选手共同进膳。为了增进交流,他们决定相隔就坐,即每个大陆选手左右旁都是港澳选手,每个港澳选手左右旁都是大陆选手。那么,这一桌一共有_______种不同的就坐方案。

注:如果在两个方案中,每个选手左右相邻的选手相同,则视为同一种方案。 {{ input(2) }}

  1. 完善程序

(排列数)输入两个正整数n,m(1<n<20,1<m<n),在1~n中任取m个数,按字典序从小到大输出所有这样的排列。 例如: 输入:3 2
输出: 1 2 1 3 2 1 2 3 3 1 3 2

#include <iostream>
#include <cstring>
using namespace std;
const int SIZE =25;
bool used[SIZE];
int data[SIZE];
int n,m,i,j,k;
bool flag;
int main()
{
	cin>>n>>m;
	memset(used,false,sizeof(used));
	for(i=1;i<=m;i++)
	{
		data[i]=i;
		used[i]=true;	
	}
	flag=true;
	while(flag)
	{
		for(i=1;i<=m-1;i++) cout<<data[i]<<" ";
		cout<<data[m]<<endl;
		flag= [    ①    ] ;
		for(i=m;i>=1;i--)
		{
			[    ②     ];
			for(j=data[i]+1;j<=n;j++)
				if(!used[j])
				{
					used[j]=true;
					data[i]=[    ③  ] ;
					flag=true;
					break;	
				}
			if(flag)
			{
				for(k=i+1;k<=m;k++)
					for(j=1;j<= [   ④   ];j++)
					if(!used[j])
					{
					      data[k]=j;
					      used[j]=true;
					      break;
					}
				[     ⑤   ];
			}
		}
	}
	return 0;	
}

第一空:{{ input(3) }}
第二空:{{ input(4) }}
第三空:{{ input(5) }}
第四空:{{ input(6) }}
第五空:{{ input(7) }}

  1. 7 个同学围坐一圈,要选 2 个不相邻的作为代表,有_________种不同的选法。 {{ input(8) }}

  2. 计算机界的最高奖是? {{ select(9) }}
  • 菲尔兹奖
  • 诺贝尔奖
  • 图灵奖
  • 普利策奖

  1. 重新排列 1234 使得每一个数字都不在原来的位置上,一共有__种排法。 {{ input(10) }}

  2. 有7个一模一样的苹果,放到3个一样的盘子中,盘子可以为空,一共有()种放法? {{ select(11) }}
  • 7
  • 8
  • 21
  • 3^7

  1. 从一个 4×4 的棋盘(不可旋转)中选取不在同一行也不在同一列上的两个方格,共有_______种方法。 {{ input(12) }}

  2. 甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3门,则不同的选修方案共有( )种? {{ select(13) }}
  • 36
  • 48
  • 96
  • 192

  1. 一家四口人,至少两个人生日属于同一月份的概率是( )(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)? {{ select(14) }}
  • 1/12
  • 1/144
  • 41/96
  • 3/4

  1. 设含有10 个元素的集合的全部子集数为 S,其中由 7 个元素组成的子集数为 T,则 T/S 的值为? {{ select(15) }}
  • 5 / 32
  • 15 / 128
  • 1 / 8
  • 21 / 128

  1. 把8个同样的球放在5个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?

提示:如果8个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法。

{{ select(16) }}

  • 22
  • 24
  • 18
  • 20

  1. 一些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9, 9颠倒过来看还是6,其他数字颠倒过来都不构成数字。 类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901。假设某个城市的车牌只由5位数字组成,每一位都可以取0到9。 请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌? {{ select(17) }}
  • 60
  • 125
  • 75
  • 100

  1. 5 个小朋友并排站成一列,其中有两个小朋友是双胞胎,如果要求这两个双胞胎必须相邻,则有( )种不同排列方法? {{ select(18) }}
  • 48
  • 36
  • 24
  • 72

  1. 10 个三好学生名额分配到 7 个班级,每个班级至少有一个名额,一共有( )种不同的分配方案? {{ select(19) }}
  • 84
  • 72
  • 56
  • 504

  1. 有五副不同颜色的手套(共 10 只手套,每副手套左右手各 1 只),一次性从中取 6 只手套,请问恰好能配成两副手套的不同取法有( )种? {{ select(20) }}
  • 120
  • 180
  • 150
  • 30

  1. 6个人,两个人组一队,总共组成三只不区分队伍的编号,不同的组队情况有()种? {{ select(21) }}
  • 10
  • 15
  • 30
  • 20

  1. 由1, 1, 2, 2, 3这五个数字组成不同的三位数有( )种? {{ select(22) }}
  • 18
  • 15
  • 12
  • 24

  1. 小明在某一天中依次有七个空闲时间段,他想要选出至少一个空闲时间段来练习唱歌,但他希望任意两个练习的时间段之间都有至少两个空闲的时间段让他休息。则小明一共有()种选择时间段的方案? {{ select(23) }}
  • 31
  • 18
  • 21
  • 33

  1. 一 个班级有10个男生和12个女生。如果要选出一个3人的小组, 并且小组中必须 至少包含1个女生, 那么有多少种可能的组合? {{ select(24) }}
  • 1420
  • 1770
  • 1540
  • 2200