Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
C++ AC代码 724K 32MS说一下容易忽略的地方:一个就是天数能被260整除的话,年份需要减一天,因为这一天还属于上一年的,不属于新的一年,另一个地方就是打印结果是,需要首先把Case 数打出来。。。太坑,我因为这个低级错误一直wa!! 代码: #include <iostream> #include <sstream> using namespace std; string Haab[19]={"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"}; string Tzolkin[20]={"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"}; int main(int argc, const char * argv[]) { int n; cin>>n; cout<<n<<endl; while (n--) { int date, year; string month, fdate; cin>>fdate>>month>>year; for(int i=0; i<fdate.length(); i++){ if(i==fdate.length()-1) fdate.erase(fdate.length()-1); } stringstream ss(fdate); ss>>date; int t_date, t_month, t_year; int month_num=0; for(int i=0; i<19; i++){ if(month.compare(Haab[i])==0) month_num=i; } int day; day = year*365+month_num*20+date; // cout<<day<<endl; if((day+1)%260==0){ t_year = (day+1)/260-1; }else{ t_year=day/260; } // cout<<t_year<<endl; t_month = (day-t_year*260)%20; string t_month_str = Tzolkin[t_month]; t_date = (day-t_year*260)%13+1; cout<<t_date<<" "<<t_month_str<<" "<<t_year<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator