#13808: WA(line 1)求救


qqqq123 (unknown)

學校 : 不指定學校
編號 : 79351
來源 : [140.113.92.245]
最後登入時間 :
2020-11-25 16:01:14
a263. 日期差幾天 -- 板橋高中練習題 | From: [163.27.3.85] | 發表日期 : 2018-05-03 11:20

#include <iostream>
using namespace std;
bool isleap(int n) {
bool ans;
if(n%4==0)
    {
        if(n%100==0)
        {
            if(n%400==0)
            {
                ans=true;
            }
            else
            {
                ans=false;
            }
        }
        else
        {
            ans=true;
        }
    }
    else
    {
        ans=false;
    }
return ans;
}
int day(int y,int m,int d) {
int sum=0,leap[12]={31,29,31,30,31,30,31,31,30,31,30,31},normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<y-1;i++)
{
if(isleap(i))
{
sum+=366;
}
else
{
sum+=365;
}
}
for(int i=0;i<m-1;i++)
{
if(isleap(y))
{
sum+=leap[i];
}
else
{
sum+=normal[i];
}
}
sum+=d;
return sum;
}
int main() {
int y1,y2,m1,m2,d1,d2;
while(cin>>y1>>m1>>d1>>y2>>m2>>d2)
{
cout<<day(y1,m1,d1)-day(y2,m2,d2)<<endl;
}
return 0;
}

 
#13809: Re:WA(line 1)求救


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a263. 日期差幾天 -- 板橋高中練習題 | From: [140.115.204.235] | 發表日期 : 2018-05-03 11:51

#include
using namespace std;
bool isleap(int n) {
bool ans;
if(n%4==0)
    {
        if(n%100==0)
        {
            if(n%400==0)
            {
                ans=true;
            }
            else
            {
                ans=false;
            }
        }
        else
        {
            ans=true;
        }
    }
    else
    {
        ans=false;
    }
return ans;
}
int day(int y,int m,int d) {
int sum=0,leap[12]={31,29,31,30,31,30,31,31,30,31,30,31},normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<y-1;i++)
{
if(isleap(i))
{
sum+=366;
}
else
{
sum+=365;
}
}
for(int i=0;i<m-1;i++)
{
if(isleap(y))
{
sum+=leap[i];
}
else
{
sum+=normal[i];
}
}
sum+=d;
return sum;
}
int main() {
int y1,y2,m1,m2,d1,d2;
while(cin>>y1>>m1>>d1>>y2>>m2>>d2)
{
cout<<day(y1,m1,d1)-day(y2,m2,d2)<<endl;
}
return 0;
}

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

然後最後要加絕對值

題目沒說前面的時間一定是比較晚

 
#13810: Re:WA(line 1)求救


qqqq123 (unknown)

學校 : 不指定學校
編號 : 79351
來源 : [140.113.92.245]
最後登入時間 :
2020-11-25 16:01:14
a263. 日期差幾天 -- 板橋高中練習題 | From: [1.200.61.239] | 發表日期 : 2018-05-03 17:34

#include
using namespace std;
bool isleap(int n) {
bool ans;
if(n%4==0)
    {
        if(n%100==0)
        {
            if(n%400==0)
            {
                ans=true;
            }
            else
            {
                ans=false;
            }
        }
        else
        {
            ans=true;
        }
    }
    else
    {
        ans=false;
    }
return ans;
}
int day(int y,int m,int d) {
int sum=0,leap[12]={31,29,31,30,31,30,31,31,30,31,30,31},normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<y-1;i++)
{
if(isleap(i))
{
sum+=366;
}
else
{
sum+=365;
}
}
for(int i=0;i<m-1;i++)
{
if(isleap(y))
{
sum+=leap[i];
}
else
{
sum+=normal[i];
}
}
sum+=d;
return sum;
}
int main() {
int y1,y2,m1,m2,d1,d2;
while(cin>>y1>>m1>>d1>>y2>>m2>>d2)
{
cout<<day(y1,m1,d1)-day(y2,m2,d2)<<endl;
}
return 0;
}

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

然後最後要加絕對值

題目沒說前面的時間一定是比較晚

 

您的答案為: 227030
正確答案為: 227031

請問那個1天在哪??

 

 
#13814: Re:WA(line 1)求救


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a263. 日期差幾天 -- 板橋高中練習題 | From: [140.115.204.235] | 發表日期 : 2018-05-03 22:35

#include
using namespace std;
bool isleap(int n) {
bool ans;
if(n%4==0)
    {
        if(n%100==0)
        {
            if(n%400==0)
            {
                ans=true;
            }
            else
            {
                ans=false;
            }
        }
        else
        {
            ans=true;
        }
    }
    else
    {
        ans=false;
    }
return ans;
}
int day(int y,int m,int d) {
int sum=0,leap[12]={31,29,31,30,31,30,31,31,30,31,30,31},normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<y-1;i++)
{
if(isleap(i))
{
sum+=366;
}
else
{
sum+=365;
}
}
for(int i=0;i<m-1;i++)
{
if(isleap(y))
{
sum+=leap[i];
}
else
{
sum+=normal[i];
}
}
sum+=d;
return sum;
}
int main() {
int y1,y2,m1,m2,d1,d2;
while(cin>>y1>>m1>>d1>>y2>>m2>>d2)
{
cout<<day(y1,m1,d1)-day(y2,m2,d2)<<endl;
}
return 0;
}

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

然後最後要加絕對值

題目沒說前面的時間一定是比較晚

 

您的答案為: 227030
正確答案為: 227031

請問那個1天在哪??

 

第一筆測資是:

2489 06 13

1867 11 11

你的算法會分別少加到2488年 跟 1866年 的天數

然後2488年是閏年 366天

至於1866年是平年 365天

所以少1天

 
#15822: Re:WA(line 1)求救


willis2014 (//我凍齡)

學校 : 臺北市私立延平高級中學
編號 : 60208
來源 : [123.192.203.15]
最後登入時間 :
2024-10-03 11:20:11
a263. 日期差幾天 -- 板橋高中練習題 | From: [114.136.76.12] | 發表日期 : 2018-11-02 23:20

#include <bits/stdc++.h>
using namespace std;
bool isleap(int n) {
bool ans;
if(n%4==0)
    {
        if(n%100==0)
        {
            if(n%400==0)
            {
                ans=true;
            }
            else
            {
                ans=false;
            }
        }
        else
        {
            ans=true;
        }
    }
    else
    {
        ans=false;
    }
return ans;
}
int day(int y,int m,int d) {
int sum=0,leap[12]={31,29,31,30,31,30,31,31,30,31,30,31},normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<=y-1;i++)
{
if(isleap(i))
{
sum+=366;
}
else
{
sum+=365;
}
}
for(int i=0;i<m-1;i++)
{
if(isleap(y))
{
sum+=leap[i];
}
else
{
sum+=normal[i];
}
}
sum+=d;
return sum;
}
int main() {
int y1,y2,m1,m2,d1,d2;
while(cin>>y1>>m1>>d1>>y2>>m2>>d2)
{
cout<<abs(day(y1,m1,d1)-day(y2,m2,d2))<<endl;
}
return 0;
}

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

然後最後要加絕對值

題目沒說前面的時間一定是比較晚

 

您的答案為: 227030
正確答案為: 227031

請問那個1天在哪??

 

第一筆測資是:

2489 06 13

1867 11 11

你的算法會分別少加到2488年 跟 1866年 的天數

然後2488年是閏年 366天

至於1866年是平年 365天

所以少1天

for(int i=1;i<=y-1;i++)

想了很久,這就可以AC囉

好開心嘿嘿嘿

 
ZeroJudge Forum