ZOJ - 1110 Dick and Jane
/*
这道题本来不难,问题在于题目第一句话就是题目所指的12岁可能是马上满13岁,就如12.5岁。
所以我们只需要枚举三个动物的值,然后限定条件。
*/
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int s,p,y,j;
while(scanf("%d%d%d%d",&s,&p,&y,&j)!=EOF)
{
int flag=1;
for(int c=0;c<=13+j;c++)//枚举Yer..因为三个年纪之和是12+j所以最大为12+j岁
{
for(int b=c+p;b<=c+p+1;b++)//因为当c出生时b是p岁,所以b=c+p,又因为可能c在这个岁数时可能是c岁多,所以b的岁数可能会多一岁。
{
for(int a=c+y;a<=c+y+1;a++)//a同上
{
if((a+b+c==12+j)&&(a==b+s||a==b+s+1))
{
printf("%d %d %d\n",a,b,c);
}
}
}
}
}
return 0;
}