原题网址:http://poj.org/problem?id=1067
感觉这个博客讲得很全:http://blog.csdn.net/u014733623/article/details/28272407
//#include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
#include<cmath>
const long double phi = (sqrt(5) + 1) / 2;
int main(){
int n,m;
while (scanf("%d%d",&n,&m) != EOF){
if (n > m) std::swap(n,m);
int l = 0, r = 1e9;
while (l < r){
int mid = (l + r + 1) / 2;
if ((int)(mid*phi) > n)
r = mid - 1;
else
l = mid;
}
//printf("l=%d calc=%d\n",l,(int)(l*phi));
if (n == (int)(l*phi) && m == n + l)
printf("0\n");
else
printf("1\n");
}
return 0;
}