Doom’s Day Algorithm
最近刚接触 CTF,结果发现一大堆东西没学要一直补,导致现在都没什么时间发文不过题目还是会写,文章也会继续更新DC群组
题目连结
属于比较讨厌的CPE 一星题,如果你没有想到投机的写法的话XD
解题
建表 ==> 星期一至日建表==>题目给了好几个用的星期一,去推剩下的最后建成表去把输入的日去减掉输入月的对应表大于 0 ==> %7 去对照星期表,得解
小于 0 ==> %7 + 7 去对照星期表,得解
code
#include <iostream>#include <vector>#include <cmath>#include <algorithm>#define Mo "Monday"#define Tu "Tuesday"#define We "Wednesday"#define Th "Thursday"#define Fr "Friday"#define Sa "Saturday"#define Su "Sunday"/* 解题: Doms Day Algorithm 解题者:神里绫华的狗 这次这样乱搞(一堆定义)主要是防抄用*/using namespace std;/* note :(all monday) 4/4 ==>拟用 6/6 8/8 10/10 12/12*/// 建置表 ==> 每月的个星期一const vector<int> Ever_Mon_Monday = {-1, 10, 21, 7, 4, 9, 6, 11, 8, 5, 10, 7, 12};// 建置表 ==> 星期const vector<string> day = {Mo, Tu, We, Th, Fr, Sa, Su};int main(int argc, char const *argv[]){ int t; cin >> t; while (t--) { int m, d; cin >> m >> d; int key = d - Ever_Mon_Monday[m]; key = key % 7; if (key >= 0) { cout << day[key] << endl; } else { key = 7 + key; cout << day[key] << endl; } } return 0;}