Travel by Bike

阅读: 评论:0

Travel by Bike

Travel by Bike

这是长沙网络赛水题了,上完课回来做的,思路是把日期移动到以星期1开始,然后以七天路程为一个周期长度,进行计算,开始想得太过简单直接超时了,按这样改了之后就A了。

#include<cstdio>
#include<cstring>
const double eps=1e-8; 
int dlcmp (double x) {return x<-eps?-1:x>eps;}int main(){char ch[20];double s,L;int start;while(scanf("%s",ch)!=EOF){if(strcmp(ch,"Sunday")==0)start=0;if(strcmp(ch,"Monday")==0)start=1;if(strcmp(ch,"Tuesday")==0)start=2;if(strcmp(ch,"Wednesday")==0)start=3;if(strcmp(ch,"Thursday")==0)start=4;if(strcmp(ch,"Friday")==0)start=5;if(strcmp(ch,"Saturday")==0)start=6;scanf("%lf %lf",&L,&s);if(start==0||start==6)L-=s*4;else if(start!=1)L-=s*8;while(dlcmp(L)>0&&start!=1){start=(start+1)%7;if(start==0||start==6)L-=s*4;else if(start!=1)L-=s*8;         }if(dlcmp(L)<0){if(start==0)printf("Sundayn");if(start==1)printf("Mondayn");if(start==2)printf("Tuesdayn");if(start==3)printf("Wednesdayn");if(start==4)printf("Thursdayn");if(start==5)printf("Fridayn");if(start==6)printf("Saturdayn");}else{double len=48*s;double temp=L/len;int tem=(int)temp;L = L-tem*len; if(start==0||start==6)L-=s*4;else L-=s*8;while(dlcmp(L)>0){start=(start+1)%7;if(start==0||start==6)L-=s*4;else L-=s*8;         }if(start==0)printf("Sundayn");if(start==1)printf("Mondayn");if(start==2)printf("Tuesdayn");if(start==3)printf("Wednesdayn");if(start==4)printf("Thursdayn");if(start==5)printf("Fridayn");if(start==6)printf("Saturdayn");}}return 0;
}


本文发布于:2024-01-30 15:27:45,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170659966620984.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Travel   Bike
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23