Wednesday, November 25, 2015

UVa 11219 - How old are you?

// UVa 11219 - How old are you?

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {
	int tt;
	cin >> tt;
	for (int t = 1; t <= tt; t++) {
		char m1, m2, dummy, d1, d2, y1, y2, y3, y4;
		cin >> d1 >> d2 >> dummy >> m1 >> m2 >> dummy >> y1 >> y2 >> y3 >> y4;
		int m = (m1 - '0') * 10 + (m2 - '0');
		int d = (d1 - '0') * 10 + (d2 - '0');
		int y = (y1 - '0') * 1000 + (y2 - '0') * 100 + (y3 - '0') * 10 + (y4 - '0');
		cin >> d1 >> d2 >> dummy >> m1 >> m2 >> dummy >> y1 >> y2 >> y3 >> y4;
		int mm = (m1 - '0') * 10 + (m2 - '0');
		int dd = (d1 - '0') * 10 + (d2 - '0');
		int yy = (y1 - '0') * 1000 + (y2 - '0') * 100 + (y3 - '0') * 10 + (y4 - '0');
		if (y < yy || y == yy && m < mm || y == yy && m == mm && d < dd)
			printf("Case #%d: Invalid birth date\n", t);
		else if (y - yy > 131 || y - yy == 131 && m > mm || y - yy == 131 && m == mm && d >= dd)
			printf("Case #%d: Check birth date\n", t);
		else {
			int age = y - yy;
			if (m < mm || m == mm && d < dd)
				age--;
			printf("Case #%d: %d\n", t, age);
		}
	}

	return 0;
}

No comments:

Post a Comment