天天看点

UVA 11806 - Cheerleaders(数论+容斥原理)

题意:在一个棋盘上,要求四周的四行必须有旗子,问有几种摆法。

思路:直接算很容易乱掉,利用容斥原理,可知aubucud = |a| + |b| + |c| + |d| - |ab| - |bc| - |ac| - |ad| - |bd| - |cd| + |abc| + |abd| + |acd| + |bcd| - |abcd|

由此利用位运算去计算即可

代码: