cf#30-K - Codeforces World Finals-模拟题-日期
来源:互联网 发布:淘宝摇一摇在哪 编辑:程序博客网 时间:2024/06/16 08:21
http://codeforces.com/problemset/problem/30/B
模拟日期。。。给你比赛日期
给你出生日期,让你通过更改年月日的顺序使得 满十八周岁
注意闰年 28·29,大月小月
输入的比赛日期不会有闰年,但是要注意生日日期可能会有闰年哦,这个wa了
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include <queue>#include <map>#include <set>#include <vector>#include<stack>using namespace std; const double pi=acos(-1.0);const double eps=1e-6; int get(int x,int yy){if (x==1||x==3||x==5||x==7||x==8||x==10||x==12)return 31;if (x==4||x==6||x==9||x==11)return 30;if (x==2) {if ((2000+yy)%400==0||((2000+yy)%4==0&&(2000+yy)%100))return 29;elsereturn 28;}}int judge(int dd,int mm,int yy,int b[]){int flag=0;if (yy-b[3]>18){ flag=1; }if (yy-b[3]==18){flag=1;if (mm>b[2])flag=1; elseif (mm==b[2]){if (dd>=b[1])flag=1;elseflag=0; }elseflag=0; }return flag;}int main(){int dd,mm,yy;int b[4];scanf("%2d.%2d.%2d",&dd,&mm,&yy);scanf("%2d.%2d.%2d",&b[1],&b[2],&b[3]); int ret=0;ret=judge(dd,mm,yy,b);if (ret) {printf("YES\n");return 0;}if (yy-b[3]>=18){int ret=0;int aa[5];aa[1]=b[2];aa[2]=b[1];aa[3]=b[3];if (b[1]<=12&&b[1]>=1) ret=judge(dd,mm,yy,aa);if (ret){printf("YES\n");return 0;} }if (yy-b[1]>=18||yy-b[2]>=18){int a[5];if (yy-b[1]>=18){if (b[2]<=12){int days=get(b[2],b[1]);if (b[3]>=1&&b[3]<=days){int ret=0;a[1]=b[3];a[2]=b[2];a[3]=b[1]; ret=judge(dd,mm,yy,a); if (ret) {printf("YES\n");return 0;} }}int ret=0;a[1]=b[2];a[2]=b[3];a[3]=b[1];if (b[3]<=12){int days=get(b[3],b[1]);if (b[3]>=1&&b[3]<=days) ret=judge(dd,mm,yy,a); if (ret) {printf("YES\n");return 0;} }}if (yy-b[2]>=18){if (b[1]>=1&&b[1]<=12){int days=get(b[1],b[2]),ret=0;a[1]=b[3];a[2]=b[1];a[3]=b[2];if (b[3]<=days) ret=judge(dd,mm,yy,a);if (ret) {printf("YES\n");return 0;} }if (b[3]>=1&&b[3]<=12){a[1]=b[1];a[2]=b[3];a[3]=b[2];int days=get(b[3],b[2]),ret=0;if (b[1]<=days)ret=judge(dd,mm,yy,a);if (ret) {printf("YES\n");return 0;}}}printf("NO\n");}elseprintf("NO\n");return 0;}
0 0
- cf#30-K - Codeforces World Finals-模拟题-日期
- Codeforces #342 D. Finals in arithmetic 模拟 构造
- codeforces 625-D. Finals in arithmetic(构造+模拟)
- 例题6-1 并行程序模拟(Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210)
- UVa804 习题 6-7 Petri网模拟(Petri Net Simulation,ACM/ICPC World Finals 1998)
- 习题6-7 Petri网模拟(Petri Net Simulation, ACM/ICPC World Finals 1998, UVa804)
- 【CodeForces】gym-101205B Curvy Little Bottles (2012 ACM-ICPC World Finals B)
- hdu 3847 2011world finals
- World Finals 2015简要题解
- ACM-ICPC World Finals 2017
- Codeforces 19A World Football Cup 【模拟】
- qduoj codeforces 山东省第八届acm省赛K题 CF (排序+01背包)
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)-模拟-C. Jury Marks-
- cf#342-D - Finals in arithmetic-构造
- World Finals 2004 / UVa 1030 Image Is Everything (想法题&迭代更新)
- 2013 ACM World Finals 中国代表队
- ACM-ICPC 2013 World Finals 简单题解
- 周赛130715World Finals 2012 - Warsaw
- hihoCoder 1069 最近公共祖先 在线算法
- 编辑距离算法(dp)
- 查找某個數字是否在數組中(數組複習)
- Java Web项目相对路径
- 卫星地图(貌似USACO)
- cf#30-K - Codeforces World Finals-模拟题-日期
- 【NYOJ】[101]两点距离
- 函數數組的綜合應用
- CF#24-B - F1 Champions
- 【NYOJ】[111]分数加减法
- else if 语句的应用
- 线程基础:线程池——基本使用(下)
- 连通图小结
- 模拟测试框架-Mockito