链接: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;
}