3489. 星期几(acwing)

#include"bits/stdc++.h"

using namespace std;
map<string,int>mp={
	{"January",1},{"February",2},{"March",3},
	{"April",4},{"May",5},{"June",6},
	{"July",7},{"August",8},{"September",9},
	{"October",10},{"November",11},{"December",12}
};
int ss(int x){
	return x%4==0 && x%100!=0 || x%400==0;
//	if(x%4==0 && x%100!=0 || x%400==0) return 1;
//	return 0;
}
string s[7]={
	"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
};
int arr[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};
string a;
int n,m;
int main()
{
	while(cin >> n >> a >> m)
	{
		int year = 1 , month = 1 , day = 1 , k = mp[a];
		int ans = 0;
		while(year < m || month < k || day < n)
		{
			if(ss(year)) arr[2]=29;
			else arr[2]=28;	
			ans++;
			day++;
			if(day > arr[month]){
				day = 1;
				month++;
			}
			if(month > 12){
				year++,day=1;
				month=1;
			}
//			cout << year << " " << month << " " << day << endl;
		}
		cout << s[ans%7] << endl;	
	}
	return 0;
 } 

Guess you like

Origin blog.csdn.net/weixin_53013914/article/details/121110089