问题标题: 酷町堂:3311 日期(date)

1
1
已解决
汪宇航
汪宇航
新手启示者
新手启示者

给出同一闰年中的两个日期,分别用两个四位数表示。用四位数表示日期的方法如下——如0823表示8月23日;1205表示12月5日。

现在请判断给出的两个日期之间相隔天数是否超过100天,如果是,则输出“YES",否则输出”NO"。相邻两个日期的相隔天数为1天。

输入描述 Input Description

有多组输入数据。

第一行一个整数k,表示数据的组数;

接下来k行,每行两个四位数x,y,用空格隔开,表示每组的两个日期。

输出描述 Output Description

共k行,每行输出一个“YES”或“NO”(没有引号)

样例输入 Sample Input

2 0823 0923 0123 1223

样例输出 Sample Output

NO YES

数据范围及提示 Data Size & Hint

日期总是合法的;

每行的两个日期不一定是递增的。

对100%的数据,k<2100.


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

一点提示(mon数组储存每月天数)

int day=mon[m1]-d1+d2;//余下天数
for(int i=m1+1;i<m2;i++){
            day+=mon[i];//整月天数
}

 

0
谭迪元
谭迪元
资深光能
资深光能

cin>>n;

for(int i=1;i<=n;i++)

cin>>a[i]>>b[i];

for(int i=1;i<=n;i++){

int date1=max(a[i],b[i]),date2=min(a[i],b[i]),sum=0;

while(sum<=100 && date2<=1231){

sum++;

date2++;

if(date2%100>month[date2/100]){

date2-=month[date2/100];

date2+=100;

}

}

if(date1<date2 || sum<100) cout<<"NO"<<endl;

else cout<<"YES"<<endl;

}

}

AC!

0
汪恺恒
汪恺恒
中级启示者
中级启示者

日期模拟题,算出两个日期之间的完整月份的天数(提示,用一个数组存储每个月的天数),在算出余下天数

如果结果>100  输出YES

else cout<<"NO"

0
汪宇航
汪宇航
新手启示者
新手启示者
  • #include <iostream>
  • #include <cmath>
  • #pragma GCC optimize(3)
  • using namespace std;
  • int k,x[1000000],y[1000000];
  • int main(){
  • cin>>k;
  • for(int i=1;i<=k;i++){
  • cin>>x[i]>>y[i];
  • if(abs(x[i]-y[i])>100){
  • cout<<"YES"<<endl;
  • }else{
  • cout<<"NO"<<endl;
  • }
  • }
  • return 0;
  • }
  • ??????????????
0
汪宇航
汪宇航
新手启示者
新手启示者

#include <iostream>

#include <cmath>

#pragma GCC optimize(3)

using namespace std;

int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};

int k,x[1000000],y[1000000],b[1000000],c[1000000];

int main(){

int day[1000000];

cin>>k;

for(int i=1;i<=k;i++){

cin>>x[i]>>y[i];

b[i]=min(x[i],y[i]);

c[i]=max(x[i],y[i]);

day[i]=a[b[i]/1000*10+b[i]/100%10]-(b[i]%100/10*10+b[i]%10);

day[i]+=a[c[i]/1000*10+c[i]/100%10]-(c[i]%100/10*10+c[i]%10);

for(int j=b[i]/1000*10+b[i]/100%10+1;j<c[i]/1000*10+c[i]/100%10;j++){

day[i]+=a[j];

}

if(day[i]>100){

cout<<"YES\n";

}else{

cout<<"NO\n";

}

}

return 0;

}

0
汪宇航
汪宇航
新手启示者
新手启示者

为什么???????????????????????????????????????

0
汪宇航
汪宇航
新手启示者
新手启示者

怎么做呀???????????

0
我要回答