題目1070 今年的第幾天?

2021-07-03 15:16:55 字數 977 閱讀 9722

題目描述:輸入年、月、日,計算該天是本年的第幾天。

輸入:包括三個整數年(1<=y<=3000)、月(1<=m<=12)、日(1<=d<=31)。

輸出:輸入可能有多組測試資料,對於每一組測試資料,

輸出乙個整數,代表input中的年、月、日對應本年的第幾天。

樣例輸入:

1990 9 20

2000 5 1

樣例輸出:

263

122

#include #include using namespace std;

int dayofmonth[13][2]=;

int buff[3001][13][32];

int isrunnian(int year)

struct date

if(month > 12)

}};

int main()

buff[date.year][date.month][date.day] = cnt;

date.nextday();

cnt++;

}int y,m,d;

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

return 0;

}

做日期型的題目都有相似的策略,將每個日期對應的值,建立一棵hash樹,並且沒有結點重複,處理相對比較容易

下面**就是建樹過程:

while(date.year < 3001)

buff[date.year][date.month][date.day] = cnt;

date.nextday();

cnt++;

}

題目1070 今年的第幾天?

題目描述 輸入年 月 日,計算該天是本年的第幾天。輸入 包括三個整數年 1 y 3000 月 1 m 12 日 1 d 31 輸出 輸入可能有多組測試資料,對於每一組測試資料,輸出乙個整數,代表input中的年 月 日對應本年的第幾天。樣例輸入 1990 9 20 2000 5 1 樣例輸出 263...

九度題目1070 今年的第幾天?

題目描述 輸入年 月 日,計算該天是本年的第幾天。輸入 包括三個整數年 1 y 3000 月 1 m 12 日 1 d 31 輸出 輸入可能有多組測試資料,對於每一組測試資料,輸出乙個整數,代表input中的年 月 日對應本年的第幾天。樣例輸入 1990 9 20 2000 5 1 樣例輸出 263...

九度 題目1070 今年的第幾天?

題目1070 今年的第幾天?時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 5369 解決 2989 題目描述 輸入年 月 日,計算該天是本年的第幾天。輸入 包括三個整數年 1 y 3000 月 1 m 12 日 1 d 31 輸出 輸入可能有多組測試資料,對於每一組測試資料,輸出乙個整...