在 4 × 4 的方格矩阵中画一条直线。则直线穿过的方格集合有多少种不同的可能?
这个里直线穿过一个方格当且仅当直线将该方格分割成面积都大于 0 的两部分。
简单不简单----咱也不敢说,咱也不敢问~ 反正是容易漏算~
题意:问直线穿过方格的 集合 有多少种。
分析:如下草图,大概辅助理解一下..
1、首先可以看出 直线穿过方格共有8种可能(可以穿过0、1 、2 、3 、4 、5 、6 、7 个方格) 所以这8种可能构成的集合的子集有 种,但是 空集 排除 ,所以就是
种情况;
2、再来.... 若集合只有 穿过0个方格 的元素,有12种情况,第一条算出的子集包含一种,所以+11 就可以啦~
完~
Code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<pow(2,8)-1+12<<endl;
///集合 0-1-2-3-4-5-6-7 组合数就是pow(2,8)-1 (不能有空集) 因为0的直线有12种 横5+竖5 +对角线 2..
return 0;
}