反比例函数 @ 2017-09-25 21:56:30
下面放代码,大神好好看看谢谢。
——————————我是分割线——————————
#include <cstdio>
int date1,date2,y1,y2,t1,t2,p[4],q[4],count;
int main()
{
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
scanf("%d%d",&date1,&date2);
y1=date1/10000;y2=date2/10000;
p[0]=y1/1000;p[1]=y1/100-p[0]*10;
p[2]=y1/10-p[0]*100-p[1]*10;
p[3]=y1-p[0]*1000-p[1]*100-p[2]*10;
q[0]=y2/1000;q[1]=y2/100-q[0]*10;
q[2]=y2/10-q[0]*100-q[1]*10;
q[3]=y2-q[0]*1000-q[1]*100-q[2]*10;
t1=1000*p[0]+100*p[1]+10*p[2]+p[3];
t2=1000*q[0]+100*q[1]+10*q[2]+q[3];
for(int i=t1;i<=t2;i++)
{
p[0]=i/1000;p[1]=i/100-p[0]*10;
p[2]=i/10-p[0]*100-p[1]*10;
p[3]=i-p[0]*1000-p[1]*100-p[2]*10;
switch(10*p[3]+p[2])
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
if(10*p[1]+p[0]<=31) count++;break;
case 2:
if(((!i%100==0)&i%4==0)|(i%400==0))
{
if(10*p[1]+p[0]<=29) count++;
}
else
{
if(10*p[1]+p[0]<=28) count++;
}
case 4:case 6:case 9:case 11:
if(10*p[1]+p[0]<=30) count++;
}
}
printf("%d",count);
return 0;
}
——————————我是分割线—————————— 亲测数据没毛病,可能超时,但为啥大0分?大神指点。
by 权御天下 @ 2017-09-25 22:37:30
by 神犇的蒟蒻 @ 2017-09-25 23:21:34
@古手羽入 嗯。。。
by 神犇的蒟蒻 @ 2017-09-25 23:21:58
by caowang @ 2017-09-26 22:20:11
。
by 反比例函数 @ 2017-10-03 13:50:58
哦蟹蟹 @古手羽入
by 反比例函数 @ 2017-10-03 13:52:06
谢大神!
by 无欢 @ 2017-10-15 13:05:12
这。。。不是基本常识吗?
by 姜维 @ 2017-11-08 22:36:11
这。。。。。你劳资有坑吧