鏈接:http://poj.org/problem?id=1430
題意:求斯特靈數S(n,m)%2
分析:由於數據較大,不能根據第二類斯特靈數來求解S(n,m)的值,那麼就要用到Sierpinski三角形中的一個結論
S(N,K)=C(Z,W) mod 2,其中,z=N-ceil((M++1)/2),W=(M-1)/2;
C(N,K)爲奇數當且僅當N&K=K時成立
有了這個公式,題目就簡單了
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int t,n,m;
int a,b;
cin>>t;
while(t--)
{
cin>>n>>m;
a=n-(int)(ceil((m+1)/2.0));
b=(m-1)/2;
if((a&b)==b)cout<<1<<endl;
else cout<<0<<endl;
}
return 0;
}