POJ 3393 日曆 大模擬

2021-07-26 22:02:08 字數 1457 閱讀 1121

poj 3393

題目很長,但意思很簡單。

告訴你如果乙個月的最後乙個工作日是周五那麼這個月就叫做lucky month

如果乙個月的第一工作日是周一就叫做good month

問從某年某月到某年某月之間有的多少個lucky month 和 good month

題目資訊

(1)1年1月1日為星期6

(2)潤年的判定方法如下:

若year<1582,則year%4==0 為潤年,否則為平年

若year>=1582,則year%4==0 && year%100!=0 ||year%400==0 為潤年,否則為平年,注意1700規定為潤年。

(3)2023年是不尋常的年份,其9月從3號開始到13號結束都沒有天數。

然後就一天一天地推

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

int month[13]=;

int ys,ms,ye,me;

bool is_leapyear(int y)//判斷x是否是閏年

else

if(y%4==0 && (y%100!=0 || y%400==0))return

1; else

return0;}

int month(int y,int m)

void init()//求公元0年1月1日是星期幾 3

if(y==0 && m==1 && d==1)break;

w=(w+5)%7+1;//求這一天的前一天是星期幾

if(m==1 && d==1)//年份徐需要改變的情況

else

if(d==1)

else d--;

}//cout<}

void get(int y,int m,int &lucky,int &good)//求從1年1月到y年m月之間有多少lucky month 和good month

if(y==y && m==m && d==month(y,m) )break;

w=w%7+1;

if(m==12 && d==31)

else

if(d==month(y,m))

else d++;

if(d==1)

if(month(y,m)==d)

}}void work()

else

work();

}return0;}

/*21 12017 8

1 22017 8

*/

2964 日曆問題 poj

總時間限制 1000ms 記憶體限制 65536kb 描述在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000 和 2400是閏年。給定從公元2000年1...

poj2964 日曆問題

time limit 1000ms memory limit 65536kb description 在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000...

1064 日曆問題

時間限制 10 sec 記憶體限制 128 mb 提交 766 解決 412 提交 狀態 討論版 在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000 和...