#include<iostream> #include<map> using namespace std; //例题2.7 打印日期 int isLearYear(int year) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { return 1; } return 0; } int main() { int y, n, res1, res2; map<int, int> maps = { {1,31},{2,28},{3,31},{4,30},{5,31},{6,30},{7,31},{8,31},{9,30},{10,31},{11,30},{12,31} }; while (cin >> y >> n) { int i = 0, temp = 0; for (i = 1; i <= 12; i++) { if (temp >= n) { break; } if (i == 2 && isLearYear(y) == 1) { temp += (maps[i] + 1); } else { temp += maps[i]; } } int d = i == 3 && isLearYear(y)==1 ? n - (temp - maps[i - 1] - 1) : n - (temp - maps[i - 1]); printf("%d-%02d-%02d\n", y, i - 1, d); } return 0; }