2007~2010,所以从2007年开始判断
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year,month,day;
int months[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&year,&month,&day);
if(!(year%4==0&&year%100!=0||year%400==0))
months[2]=28;
int i;
int j,k;
int sum=0;
if(year==2007)
{
for(i=9;i<month;i++)
{
sum+=months[i];
}
sum+=day;
}
else if(year>=2008)
{
for(i=2008;i<year;i++)
{
if((i%4==0 && i%100!=0) || i%400==0)
{
sum+=366;
}
else
sum+=365;
}
for(i=1;i<month;i++)
{
sum+=months[i];
}
sum+=day+122;
}
j=sum%7;
k=sum%14;
if(j==1&&k==1||j==6&&k==6||j==4&&k==11) printf("B\n");
if(j==2&&k==2||j==6&&k==7||j==5&&k==12) printf("X\n");
if(j==3) printf("ALL\n");
if(j==4&&k==4||j==1&&k==8||j==6&&k==13) printf("H\n");
if(j==5&&k==5||j==2&&k==9||j==0&&k==0) printf("P\n");
return 0;
}