王道機試指南NO 4Day Of Week

2021-09-11 04:59:36 字數 1062 閱讀 8615

時間限制:1s 記憶體限制:32mb輸入乙個日期,要求輸出該日期為星期幾

9 october 2001

14 october 2001

tuesday

sunday

1、日期類問題,先預處理出每個日期與原點日期(0年1月1日)之間的天數間隔,存入buf三維陣列。

2、看到題目考慮兩個問題:

①今天星期幾?

②今天和給定日期相隔幾天

3、int days = buf[y][m][d] - buf[2019][2][21]; //可能為負數

days += 4;

算出來的天數差可能是個負數,今天是星期四,對應陣列下標為4,經此計算得到經過days天後的下標

#include #include #define isyear(x) x%100 != 0 && x%4 == 0 || x%400 == 0 ? 1 : 0

int dayofmonth[13][2] = ;

struct date}}

};int buf[3001][13][32]; //預處理,儲存每一天與原點日期的天數差

char monthname[13][20] = ; // 月名 每個月對應下標1-12

char weekname[7][20]=; //周名 每個周對應下標0-6

int main()// 預處理出每一天與原點日期的天數差

int d, m, y;

char s[20];

while(scanf("%d%s%d", &d, s, &y) != eof)

}int days = buf[y][m][d] - buf[2019][2][21]; //可能為負數

days += 4; // 2019/2/21今天為星期四,對應下標為4,得到目標日期的下標

王道機試指南 P1

p1 結構體陣列排序 核心在於1.使用結構體,2,使用sort和對應的cmp 3.字串使用strcmp比大小 先建立乙個結構體用來存對應的數值 struct estu 100 bool cmp e a,e b intmain return0 p1 這道題的關鍵是在於,因為給定的值是乙個範圍的,所以可...

菜鳥的機試準備 王道機試指南 演算法筆記

字串雜湊 100000582 b 100000582 c 100000582 d 今天第幾天?清華 include include using namespace std int month tab 2 13 bool is leapyear int year intmain else 上邊的if ...

王道機試指南NO 5Sort Hash應用

時間限制 1s 記憶體限制 128mb給n個整數,請按從大到小的順序輸出其中前m大的數。每組測試資料有兩行,第一行有兩個數n,m 0 n,m 1000000 第二行包含n個各不相同,且都處於區間 500000,500000 的整數。對每組測試資料按從大到小的順序輸出前m大的數。5 33 35 92 ...