链接:https://www.nowcoder.com/acm/contest/115/B
来源:牛客网

题目描述

给出一个出生日期,比如:1999-09-09,
问:从出生那一天开始起,到今天2018-04-21为止(包括出生日期和今天),有多少天,年月日都不包含数字4?

输入描述:

第一行输入一个整数T(表示样例个数)
接下来T组样例
每个样例一行,包含一个字符串“yyyy-mm-dd”(1990<=yyyy<=2018)
题目保证测试数据的正确性

输出描述:

输出题意要求的天数
输入例子:
1
1999-09-09
输出例子:
5020

-->

示例1

输入

1
1999-09-09

输出

5020
是我写长了...
#include<iostream>
#include<string>
#include<stdio.h>
#include<map>
using namespace std;
map<int,int>Mp;
int main(){
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;Mp[]=;
Mp[]=;Mp[]=;Mp[]=;Mp[]=;
int t;
int y,m,d;
cin>>t;
while(t--){
int sum=;
scanf("%d-%d-%d",&y,&m,&d);
int f=;
int ans=d;
for(int j=m;j<=;){
int flag=;
int flag2=;
if(Mp[y]&&Mp[j]&&Mp[ans]){
sum++;
}
// cout<<ans<<endl;
if(y%==){
if(j==||j==||j==||j==||j==||j==||j==){
if(ans==){
flag2=;
flag=;
}
}else if(j==){
if(ans==){
flag2=;
flag=;
}
}else{
if(ans==){
flag2=;
flag=;
}
}
}else if(y%){
if(j==||j==||j==||j==||j==||j==||j==){
if(ans==){
flag2=;
flag=;
}
}else if(j==){
if(ans==){
flag2=;
flag=;
}
}else{
if(ans==){
flag2=;
flag=;
}
}
}
// cout<<m<<" "<<ans<<endl;
if(flag==){
ans=;
}else{
ans++;
//cout<<"A"<<endl;
}
if(flag2){
j++;
}
}
d=;
for(int i=y+;i<=;){
for(int j=;j<=;){
int flag=;
int flag2=;
if(Mp[i]&&Mp[j]&&Mp[d]){
sum++;//cout<<i<<"-"<<j<<"-"<<d<<" "<<sum<<endl;
}
if(i==&&j==&&d==){
f=;
break;
} if(i%==){
if(j==||j==||j==||j==||j==||j==||j==){
if(d==){
flag2=;
flag=;
}
}else if(j==){
if(d==){
flag2=;
flag=;
}
}else{
if(d==){
flag2=;
flag=;
}
}
}else if(i%){
if(j==||j==||j==||j==||j==||j==||j==){
if(d==){
flag2=;
flag=;
}
}else if(j==){
if(d==){
flag2=;
flag=;
}
}else{
if(d==){
flag2=;
flag=;
}
}
} if(j==&&d==){
i++;
}
// cout<<flag<<endl;
if(flag==){
d=;
}else{
d++;
//cout<<"A"<<endl;
}
if(flag2){
j++;
}
}
if(f){
break;
}
}
cout<<sum<<endl;
}
return ;
}
05-21 20:49