讨论 / 空间0,时间T;
sym111sym 2013-11-06 17:33:20
点我顶贴 收藏 删除
枚举休息时间数。。。。。

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i,j,m,s,t,ans=300005,p=0,max=0,m1,t1,k;

scanf("%d%d%d",&m,&s,&t);

for(i=0;i<t;i++)

{

m1=m+4*i;

t1=i;

if(t1+m1/10>t)

{

if((t-t1)*60>max)

{

k=i;

max=(t-t1)*60;

}

continue;

}

else if(m1/10*60>=s)

{

p=1;

if(t1+m1/10<ans)

{

k=i;

ans=t1+m1/10;

}

continue;

}

else

{

t1+=m1/10;

if(t1+(s-m1/10*60-1)/17+1>t)

{

if(m1/10*60+(t-t1)*17>max)

{

k=i;

max=(t-t1)*17+m1/10*60;

}

continue;

}

else

{

p=1;

if(t1+(s-m1/10*60-1)/17+1<ans)

{

k=i;

ans=t1+(s-m1/10*60-1)/17+1;

}

continue;

}

}

}

if(p==1)

printf("Yes\n%d",ans);

else printf("No\n%d",max);

return 0;

}

查看更多回复
提交回复