[一天至少一题直到ICPC开赛023]解题:Doom’s Day Algorithm(1/5)

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;}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章