C++ 小球盒子错配问题:求解错误存放方式数量
C++ 小球盒子错配问题:求解错误存放方式数量
问题描述:
有 n 枚颜色不同的小球和相应 n 种颜色的盒子,相同颜色的小球和盒子是一套,假设所有的小球均未放到匹配的盒子中去,请问这种错误的存放方式一共有多少种?
输入描述:
一行,一个整数 n,表示小球的个数(同时也是盒子的)(1<=n<=20)
输出描述:
一行,一个整数,表示完全错误的存放方法数。
样例1:
输入:
5
输出:
44
解题思路:
对于每个小球,它有两种选择:放到匹配的盒子中,或者放到不匹配的盒子中。 假设小球 i 放到了不匹配的盒子中,那么对于小球 j(j ≠ i),它有两种选择:放到匹配的盒子中,或者放到不匹配的盒子中。 以此类推,对于每个小球,它有两种选择,所以一共有 2^n 种错误的存放方式。
代码实现:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cin >> n;
int ans = pow(2, n);
cout << ans << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pWJB 著作权归作者所有。请勿转载和采集!