時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 131072k,其他語言262144k
64bit io format: %lld
題目描述
element馬上就要畢業了,他開啟日曆看了看時間。發現日曆上的日期都是2017-04-04這樣的格式的,月和日如果不足2位數,前面都會補充0。
給定乙個年份和月份,element把那個月的日期都按上述格式寫到紙上,他現在想知道某種數字出現了多少次。
輸入描述:
多組輸入
每組輸入一行,有3個數字y,m,x(1000<=y<=3000,1<=m<=12,0<=x<=9),分別代表年份,月份,和他想知道哪個數字出現的次數。
輸出描述:
每組輸出乙個整數,表示數字x在這個月的日期裡出現了多少次。
注意閏年和月和日如果不足2位數,前面都會補充0即可。
def
fn(y):if
(y%4==0
and y%
100!=0)
or y%
400==0:
return
true
else
:return
false
c1 =[1
,3,5
,7,8
,10,12
]c2 =[4
,6,9
,11]c3 =[2
]while
true
:try
: res =
0 y, m, x =
list
(map
(int
,input()
.split())
)if m in c1:
d =[12
,14,13
,5,3
,3,3
,3,3
,3] n =
31elif m in c2:
d =[12
,13,13
,4,3
,3,3
,3,3
,3] n =
30elif m in c3 and fn(y)
: d =[11
,13,13
,3,3
,3,3
,3,3
,3] n =
29else
: d =[11
,13,12
,3,3
,3,3
,3,3
,2] n =
28if m <=9:
d[0]
+= n
d[m]
+= n
elif m ==10:
d[1]
+= n
d[0]
+= n
elif m ==11:
d[1]
+=2*n else
: d[1]
+= n
d[2]
+= n
res += d[x]
ifstr
(x)in
str(y)
: res +=
(str
(y).count(
str(x)))
*n print
(res)
except
:break
日曆中的數字
題目描述 element馬上就要畢業了,他開啟日曆看了看時間。發現日曆上的日期都是2017 04 04這樣的格式的,月和日如果不足2位數,前面都會補充0。給定乙個年份和月份,element把那個月的日期都按上述格式寫到紙上,他現在想知道某種數字出現了多少次。輸入描述 多組輸入 每組輸入一行,有3個數...
牛客網 有趣的數字
程式設計題 有趣的數字 時間限制 1秒空間限制 32768k 小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入描述 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2 an 需要計算的資料 保證 1 n 100000,0 ai ...
每日刷題 牛客 陣列中重複的數字
事件還早,再來乙個簡單的吧 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。拿乙個輔助陣列先將所給陣列的第乙個值給它...