Mother's Day

https://ac.nowcoder.com/acm/contest/554/E

题解:朴素

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
int ans,cnt,flag,temp,sum;
int a,b,c,y;
char str;
struct node{};
bool check(int y){
    return y%4==0&&y%100!=0||y%400==0;
}
int mo[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
                {0,31,29,31,30,31,30,31,31,30,31,30,31}};
int main()
{
#ifdef DEBUG
	freopen("input.in", "r", stdin);
	//freopen("output.out", "w", stdout);
#endif
    //ios::sync_with_stdio(false);
    //cin.tie(0);
    //cout.tie(0);
    //scanf("%d",&t);
    //while(t--){
    while(~scanf("%d%d%d%d",&a,&b,&c,&y)){
        int week=1;
        int num=1;
        ans=0;
        int year,month,day;
        for(int i=1850;i<=y;i++){
            int f=check(i);
            for(int j=1;j<=12;j++){
                num=0;
                for(int k=1;k<=mo[f][j];k++){
                    week++;
                    if(week>7)
                        week=1;
                    if(week==c)
                        num++;
                    if(i==y&&j==a&&b==num&&week==c){
                        ans=1;
                        year=i;
                        month=j;
                        day=k;
                        break;
                    }
                }
            }
        }
        if(ans){
            printf("%d/",year);
            if(month<10)
                printf("0%d/",month);
            else
                printf("%d/",month);

            if(day<10)
                printf("0%d\n",day);
            else
                printf("%d\n",day);
        }else{
            cout<<"none"<<endl;
        }
    }

    //}

#ifdef DEBUG
	printf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif
    //cout << "Hello world!" << endl;
    return 0;
}

 

全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务