`
Simone_chou
  • 浏览: 192682 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Codeforces World Finals(模拟)

    博客分类:
  • CF
 
阅读更多
B. Codeforces World Finals
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

The king Copa often has been reported about the Codeforces site, which is rapidly getting more and more popular among the brightest minds of the humanity, who are using it for training and competing. Recently Copa understood that to conquer the world he needs to organize the world Codeforces tournament. He hopes that after it the brightest minds will become his subordinates, and the toughest part of conquering the world will be completed.

The final round of the Codeforces World Finals 20YY is scheduled for DD.MM.YY, where DD is the day of the round, MM is the month and YY are the last two digits of the year. Bob is lucky to be the first finalist form Berland. But there is one problem: according to the rules of the competition, all participants must be at least 18 years old at the moment of the finals. Bob was born on BD.BM.BY. This date is recorded in his passport, the copy of which he has already mailed to the organizers. But Bob learned that in different countries the way, in which the dates are written, differs. For example, in the US the month is written first, then the day and finally the year. Bob wonders if it is possible to rearrange the numbers in his date of birth so that he will be at least 18 years old on the day DD.MM.YY. He can always tell that in his motherland dates are written differently. Help him.

According to another strange rule, eligible participant must be born in the same century as the date of the finals. If the day of the finals is participant's 18-th birthday, he is allowed to participate.

As we are considering only the years from 2001 to 2099 for the year of the finals, use the following rule: the year is leap if it's number is divisible by four.

Input

The first line contains the date DD.MM.YY, the second line contains the date BD.BM.BY. It is guaranteed that both dates are correct, and YY and BY are always in [01;99].

It could be that by passport Bob was born after the finals. In this case, he can still change the order of numbers in date.

Output

If it is possible to rearrange the numbers in the date of birth so that Bob will be at least 18 years old on the DD.MM.YY, output YES. In the other case, output NO.

Each number contains exactly two digits and stands for day, month or year in a date. Note that it is permitted to rearrange only numbers, not digits.

Sample test(s)
input
01.01.98
01.01.80
output
YES
input
20.10.20
10.02.30
output
NO
input
28.02.74
28.02.64
output
NO

 

      题意:

      给出两个日期,第二个日期是可以任意交换的,问第二个时间到第一个时间能否大于等于18岁。

 

      思路:

      简单模拟。注意日期的判断还有常闰年的判断,交换的时间可能会不满足交换的条件,判断的时候写到同一个函数判断比较思路清晰。

 

      AC:

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int dd, mm, yy;

bool test (int d, int m, int y) {
        if (y < 1 || y > 99) return 0;
        if (m < 1 || m > 12) return 0;
        if (m == 4 || m == 6 ||
            m == 9 || m == 11) {
                    if (d > 30) return 0;
        } else if (m == 2) {
                int year = 2000 + y;
                if (y % 4 && d > 28) return 0;
                if (!(y % 4) && d > 29) return 0;
        } else if (d > 31) return 0;

        if (yy - y > 18) return 1;
        if (yy - y == 18 && mm - m > 0) return 1;
        if (yy - y == 18 && mm - m == 0 && dd - d >= 0) return 1;

        return 0;
}

int main() {

        int a, b, c;
        scanf("%d.%d.%d", &dd, &mm, &yy);
        scanf("%d.%d.%d", &a, &b, &c);

        if (test(a, b, c) || test(a, c, b) ||
            test(b, a, c) || test(b, c, a) ||
            test(c, b, a) || test(c, a, b))
            puts("YES");
        else puts("NO");

        return 0;
}

 

 

分享到:
评论

相关推荐

    Codeforces gym模拟赛

    "Codeforces gym模拟赛"是一个编程竞赛题目,描述的是一个自动化画布上色的问题。在这个问题中,Samuel W. E. R. Craft想要创建一系列颜色不重复的画布数组。他有一系列白色画布,大小不一,并设计了一个机器来自动...

    Codeforces 题库 101-200

    Codeforces题库101-200介绍了一个在编程竞赛领域非常知名的平台——Codeforces。Codeforces是一个专注于计算机编程的俄罗斯网站,由一组来自萨拉托夫国立大学的竞技体育团队成员领导,由Mikhail Mirzayanov领导。该...

    Codeforces 题库 001-100

    标题 "Codeforces 题库 001-100" 暗示了这里讨论的是Codeforces网站上的前100个编程竞赛题目。Codeforces是一个专注于算法竞赛编程的俄罗斯网站,由来自萨拉托夫国立大学的一群体育爱好者组成,以Mikhail Mirzayanov...

    打codeforces的神器

    打codeforces的神器

    codeforces编程网站预测分数插件.zip

    Codeforces是一个广受欢迎的在线编程竞赛平台,尤其在ACM(国际大学生程序设计竞赛)社区中备受推崇。这个“codeforces编程网站预测分数插件.zip”文件似乎包含了一个专为Codeforces用户设计的插件,旨在帮助参赛者...

    CodeForcesIO:用于模拟Codeforces Javascript IO功能的小包装

    用于模拟Codeforces Javascript IO功能的小包装。 安装 npm i @ip-algorithmics/codeforces-io 介绍 Javascript / Typescript的Codeforce使用readLine()和print()函数输入和输出到标准输入/控制台。 如何使用 该库...

    codeforces enhancer 1.1.2

    Codeforces Enhancer 1.1.2是一款专为Google Chrome浏览器设计的插件,旨在提升用户在Codeforces编程竞赛平台上的体验。这个插件的主要目标是通过提供一系列实用功能,帮助程序员更有效地进行代码编写、测试和提交,...

    Codeforces题目泛做解题报告许昊然.pdf

    根据提供的文档信息,我们可以推断出这是一份由许昊然撰写的Codeforces题目的解题报告。许昊然是国际信息学奥林匹克(IOI)2012年和2013年的金牌获得者,因此他的解题报告极具参考价值。下面我们将详细解读这份报告...

    Codeforces codes_names_Codeforces_

    《Codeforces代码名称解析》 Codeforces是一个全球知名的在线编程竞赛平台,吸引了众多程序员和算法爱好者参与。这里的“codes_names_Codeforces_”标题暗示我们将探讨的是Codeforces平台上一些问题的代码名称。...

    Codeforces 185A - Plant 全测试点49个

    Codeforces 185A - Plant 全测试点49个 Codeforces 是一个在线编程平台,提供了大量的编程题目和比赛。其中,185A - Plant 是一个经典的题目,要求编写一个程序来解决植物生长的问题。 在这个题目中,输入是一个...

    codeforces比赛代码

    Codeforces是一个知名的在线编程竞赛平台,它吸引了众多程序员和编程爱好者参与。这里的“codeforces比赛代码”很显然是指在Codeforces平台上参加比赛时编写的各种程序代码。这些代码可能包括解决算法问题、数据结构...

    CodeForces – 1328F Make k Equal(模拟)

    因为E题卡了半个小时最后还没解决掉,还剩十分钟结束比赛的时候看到群友说F题是模拟,抓紧时间去读题,读完题后感觉还算蛮简单的,稍微写了写调了一下,补题的时候交上去直接就A了,有种上当了的感觉 因为两种操作...

    Codeforces global round 10_Codeforces_

    Codeforces全球第十轮比赛是编程竞赛平台Codeforces举办的一场线上编程比赛,旨在挑战参赛者的算法设计、逻辑思维和编程技巧。在这个比赛中,参赛者通常需要解决一系列算法问题,涵盖数据结构、图论、动态规划、数学...

    一个Codeforces、牛客竞赛、AtCoder平台的编程竞赛查询插件,ACMer必备.zip

    一个Codeforces、牛客竞赛、AtCoder平台的编程竞赛查询插件,ACMer必备.zip

    codeforces 19 E Fairy 解题报告

    Codeforces 19 E Fairy 是一道关于图论和二分图的编程竞赛题目。本题要求求解在给定的无向图中,通过删除一条边使得剩余的图成为一个二分图。首先,我们需要理解二分图的概念。二分图是指图中的节点可以分为两个互不...

    Codeforces round 678 D2_Codeforces_

    Codeforces 是一个知名的在线编程竞赛平台,它定期举办编程竞赛,吸引全球的程序员参与,以提升编程技能和算法理解。本次提及的是Codeforces round 678的第二部分(division 2),通常这类比赛会包含四道题目,分别...

    codeforces-ACM竞赛题目-2833道.tgz

    codeforces-ACM竞赛题目-2833道.tgz

    Xudong0722#Algorithm_template#codeforces思维题训练合集1

    lucifer1004大佬的博客cf上分攻略故里大佬的githubcf思维题刷题数:44- (1421)codeforces 676 div2 A,B done

    codeforces:Codeforces提交

    Codeforces是一个全球知名的在线编程竞赛平台,吸引了众多程序员和编程爱好者参与。它的主要特点是定期举行比赛,用户可以在线提交代码,系统自动评测并给出结果。在这个过程中,掌握一些关键的编程技巧和策略对于...

    PDF-CodeForces-Problems:PDF文件中的CodeForces问题

    PDF-CodeForces问题 PDF文件中的CodeForces问题 利用CodeForces提取在这个库中的文件 ,文件夹名代表来自CodeForces网址contests`的ID,每个文件夹包含比赛的问题。 有关CodeForces竞赛的疯狂事实 CodeForces上有937...

Global site tag (gtag.js) - Google Analytics