0083 - Era Name Transformation
#include <iostream> #include <string> using namespace std; void Slove(int year, int month, int day) { const string era[5]={"pre-meiji", "meiji", "taisho", "showa", "heisei"}; const long long int period[4]={18680908, 19120730, 19261225, 19890108}; long long int number=year*10000+100*month+day; bool flg=false; if ( number < period[0] ) { cout << "pre-meiji" << endl; flg=true; } else { for (int i=0; i<4; ++i) if ( number < period[i] ) { cout << era[i] << " " << year-(period[i-1]/10000-1) << " " << month << " " << day << endl; flg=true; break; } if (!flg) cout << era[5-1] << " " << year-(period[4-1]/10000-1) << " " << month << " " << day << endl; } } int main(void) { int year, month, day; while (cin >> year >> month >> day) Slove(year,month,day); return 0; }
手こずりすぎた。。死にたぃ。。。リスカしょ...