Try   HackMD

Doom’s Day Algorithm

題目連結 UVa 12019

中文簡述

給你一個日期,算出在2011是星期幾。

[think]

題目有提到說2011/4/4是星期一
可以得知

2011的第93天是星期一
2011的第3天也是星期一 (93%7=2)
2011的第1天可以得知是星期六
所以只要算出是第幾天,之後 mod 7 就是答案

solution:

#include<iostream>
using namespace std;
int main()
{
	int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	string day[]={"Friday","Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday"};
	int n,m,d,s;
	while(cin>>n)
	{
		for(int cs=0;cs<n;cs++)
		{
			int s=0;
			cin>>m>>d;
			for(int i=1;i<m;i++)
				s+=days[i];
			s+=d;
			cout<<day[s%7]<<endl;
		}
	}
}
tags: UVA

回目錄 學習筆記