2013 ACM/ICPC Asia Regional Changsha Online - C、E 解题报告
2013 ACM/ICPC Asia Regional Changsha Online - C Color Representation Conversion
考查:耐心、细心、基础能力
看懂题目就不成问题了,另外就只有公式装换和精度处理了。
题目给出四个转换公式:
HSV—>RGB
HSL—>RGB
RGB—>HSV
RGB—>HSL
我们要做到的装换模式有 种,转换模式方式如下:
HSV—>RGB:直接装换
HSL—>RGB:直接装换
RGB—>HSV:直接转换
RGB—>HSL:直接转换
HSV—>HSL:HSV—>RGB、RGB—>HSLHSL—>HSV:HSL—>RGB、RGB—>HSV
#include<iostream>#include<cstdio>#include<string>using namespace std;struct node //一周之类每天的信息{ string day; //时间标记 int time; //工作时间}bick[7]={"Monday",8,"Tuesday",8,"Wednesday",8,"Thursday",8,"Friday",8,"Saturday",4,"Sunday",4};int main(){ string s; int L; double speed,sumtime; int day; int i,j; while(cin>>s>>L>>speed) { for(i=0;i<7;i++) if(s==bick[i].day)break; day=i; sumtime=(double)L/speed; if((int)sumtime>=48) sumtime-=(int)sumtime/48*48; //每周可以工作48小时 if(sumtime==0) //刚好n周走完 { day=i-1; if(day<0)day=6; } else while(sumtime>0) //剩余时间,论坛提算 { if(day>6)day=0; sumtime-=bick[day].time; if(sumtime<=0)break; day++; } cout<<bick[day].day<<endl; //直接输出对应日子标记 } return 0;}