1. 程式人生 > >NYOJ312(20歲生日)

NYOJ312(20歲生日)

20歲生日
時間限制:1000 ms | 記憶體限制:65535 KB
難度:1
描述
路過這的20歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達20歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達20歲生日所經過的總天數,讓他好來比較一下。
輸入
一個數T,後面T行每行有一個日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
輸出
T行,每行一個數,表示此人從出生到20歲生日所經過的天數。如果這個人沒有20歲生日,就輸出-1。
樣例輸入
1
1988-03-07
樣例輸出
7305
來源
hdu
上傳者
路過這

#include<stdio.h>

bool judge(int a)
{
    if(a%400==0||(a%4==0&&a%100!=0))
        return true;
    return false;
}
int main()
{
    int test,year,month,day;
    scanf("%d",&test);
    while(test--)
    {
        int flag=0;
        scanf("%d-%d-%d",&year,&month,&day);
        if
(month==2&&day==29) { if(!judge(year+20)) { printf("-1\n"); continue; } } int s=365*20; for(int i=1;i<20;i++) { if(judge(year+i)) s++; } if
(month>2&&judge(year+20)) s++; if(month<=2&&judge(year)) s++; printf("%d\n",s); } return 0; }

相關推薦

NYOJ31220生日

20歲生日 時間限制:1000 ms | 記憶體限制:65535 KB 難度:1 描述 路過這的20歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達20歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請

1039 到底買不買2020 point(s)

小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子;如果不是,那麼告訴她缺了多少珠子。 為方便起見,我們用[0-9]、[a-z]、[A-Z]範

1005 Spell It Right 20 point(s)

1005 Spell It Right (20 point(s)) Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of

習題5-6 使用函式輸出水仙花數 20 point(s)

習題5-6 使用函式輸出水仙花數 (20 point(s)) 水仙花數是指一個N位正整數(N≥3),它的每個位上的數字的N次冪之和等於它本身。例如:153=1​3​​+5​3​​+3​3​​。 本題要求編寫兩個函式,一個判斷給定整數是否水仙花數,另一個按從小到大的順序打印出給定區間(m,n)內所

練習7-2 求最大值及其下標 20 point(s)

練習7-2 求最大值及其下標 (20 point(s)) 本題要求編寫程式,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。 輸入格式: 輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。 輸出格式: 在一行中輸出最大值及最大值的

練習7-7 矩陣運算 20 point(s)

練習7-7 矩陣運算 (20 point(s)) 給定一個n×n的方陣,本題要求計算該矩陣除副對角線、最後一列和最後一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。 輸入格式: 輸入第一行給出正整數n(1<n≤10);隨後n行,每行給出n個整數,其間以空格分隔。

習題6-2 使用函式求特殊a串數列和 20 point(s)

習題6-2 使用函式求特殊a串數列和 (20 point(s)) 給定兩個均不超過9的正整數a和n,要求編寫函式求a+aa+aaa++⋯+aa⋯a(n個a)之和。 函式介面定義: int fn( int a, int n ); int SumA( int a, int n ); 其

習題6-3 使用函式輸出指定範圍內的完數 20 point(s)

習題6-3 使用函式輸出指定範圍內的完數 (20 point(s)) 本題要求實現一個計算整數因子和的簡單函式,並利用其實現另一個函式,輸出兩正整數m和n(0<m≤n≤10000)之間的所有完數。所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。

6-1 使用函式求素數和 20 point(s)

6-1 使用函式求素數和 (20 point(s)) 本題要求實現一個判斷素數的簡單函式、以及利用該函式計算給定區間內素數和的函式。 素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int p ); int PrimeSum(

6-2 使用函式驗證哥德巴赫猜想 20 point(s)

6-2 使用函式驗證哥德巴赫猜想 (20 point(s)) 本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int

6-3 判斷迴文字串 20 point(s)

6-3 判斷迴文字串 (20 point(s)) 本題要求編寫函式,判斷給定的一串字元是否為“迴文”。所謂“迴文”是指順讀和倒讀都一樣的字串。如“XYZYX”和“xyzzyx”都是迴文。 函式介面定義: bool palindrome( char *s ); 函式palindrom

騰訊20生日前夕,給了自己一個改變

經歷了夢想和市值的雙重責問後,20歲的騰訊步履不再一馬平川,多了幾分被做空流言所壓迫的沉重。但很多唱衰者似乎也在有意忽略,這家半年盈利高達425億元、同比增長30%的全球超級公司所積蓄的能量。 看似在沉睡的企鵝,也並沒有留給競爭對手太多的追趕時間。 它驟然醒來,或許來自於

6-2 順序表操作集20 point(s)

本題要求實現順序表的操作集。 函式介面定義: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, P

6-1 單鏈表逆轉20 point(s)

本題要求實現一個函式,將給定的單鏈表逆轉。 函式介面定義: List Reverse( List L ); 其中List結構定義如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 儲存結點資料 */

7-1 一元多項式的乘法與加法運算20 point(s)

設計函式分別求兩個一元多項式的乘積與和。 輸入格式: 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入一個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。 輸出格式: 輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,

練習7-4 找出不是兩個陣列共有的元素 20 point(s)

練習7-4 找出不是兩個陣列共有的元素 (20 point(s)) 給定兩個整型陣列,本題要求找出不是兩者共有的元素。 輸入格式: 輸入分別在兩行中給出兩個整型陣列,每行先給出正整數N(≤20),隨後是N個整數,其間以空格分隔。 輸出格式: 在一行中按照數字給出的順序輸出不是兩陣

習題7-1 選擇法排序 20 point(s)

習題7-1 選擇法排序 (20 point(s)) 本題要求將給定的n個整數從大到小排序後輸出。 輸入格式: 輸入第一行給出一個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。 輸出格式: 在一行中輸出從大到小有序的數列,相鄰數字間有一個空格,行末不得有多餘空格。

習題6-7 簡單計算器 20 point(s)

習題6-7 簡單計算器 (20 point(s)) 模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。 輸入格式: 輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個運算元。遇等號”=”說明輸入結束。 輸

習題7-2 求一批整數中出現最多的個位數字 20 point(s)

習題7-2 求一批整數中出現最多的個位數字 (20 point(s)) 給定一批整數,分析每個整數的每一位數字,求出現次數最多的個位數字。例如給定3個整數1234、2345、3456,其中出現最多次數的數字是3和4,均出現了3次。 輸入格式: 輸入在第1行中給出正整數N(≤1000),在

習題7-5 找鞍點 20 point(s)

習題7-5 找鞍點 (20 point(s)) 一個矩陣元素的“鞍點”是指該位置上的元素值在該行上最大、在該列上最小。 本題要求編寫程式,求一個給定的n階方陣的鞍點。 輸入格式: 輸入第一行給出一個正整數n(1≤n≤6)。隨後n行,每行給出n個整數,其間以空格分隔。 輸出格式: