'''
[程式設計題] 不要二
時間限制:1秒
空間限制:32768k
二貨小易有乙個w*h的網格盒子,網格的行編號為0~h-1,網格的列編號為0~w-1。
每個格仔至多可以放一塊蛋糕,任意兩塊蛋糕的歐幾里得距離不能等於2。
對於兩個格仔座標(x1,y1),(x2,y2)的歐幾里得距離為:
( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算術平方根
小易想知道最多可以放多少塊蛋糕在網格盒子裡。
輸入描述:
每組陣列包含網格長寬w,h,用空格分割.(1 ≤ w、h ≤ 1000)
輸出描述:
輸出乙個最多可以放的蛋糕數
輸入例子1:
3 2輸出例子1:
4'''
'''解題思路:這題不難,只要仔細的區分清楚各種特殊情況,小心設定if的條件即可得到答案
0 1 2 3 4 5 6 7
0 x x x x
1 x x x x
2 x x x x
3 x x x x
4 x x x x
5 x x x x
6 x x x x
7 x x x x
按這種情況放置的蛋糕是最合理的
''''''
**執行結果:
答案正確:恭喜!您提交的程式通過了所有的測試用例
'''
w, h = [int(each) for each in input().split()]
mod_column = w % 4
mod_row = h % 4
column_block = w // 4
row_block = h // 4
if mod_column == 0:
print((8 * column_block) * row_block + 2 * column_block * mod_row)
elif mod_column == 1:
if 0 < mod_row <= 2:
print((8 * column_block + 2) * row_block + (2 * column_block + 1) * mod_row)
elif mod_row == 3:
print((8 * column_block + 2) * row_block + (2 * column_block + 1) * 2 + 2 * column_block)
else:
print((8 * column_block + 2) * row_block)
elif mod_column == 2:
if 0 < mod_row <= 2:
print((8 * column_block + 4) * row_block + (2 * column_block + 2) * mod_row)
elif mod_row == 3:
print((8 * column_block + 4) * row_block + (2 * column_block + 2) * 2 + 2 * column_block)
else:
print((8 * column_block + 4) * row_block)
elif mod_column == 3:
if 0 < mod_row <= 2:
print((8 * column_block + 6) * row_block + (2 * column_block + 2) * mod_row)
elif mod_row == 3:
print((8 * column_block + 6) * row_block + (2 * column_block + 2) * 2 + 2 * column_block + 1)
else:
print((8 * column_block + 6) * row_block)
網易2017內推筆試題
有 n 個學生站成一排,每個學生有乙個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,你能返回最大的乘積嗎?輸入描述 每個輸入包含 1 個測試用例。每個測試資料的第一行包含乙個整數 n 1 n 50 表示學生的...
網易2017內推筆試題
如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如 是回文序列,不是回文序列。現在給出乙個數字序列,允許使用一種轉換操作 選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置 只插入乙個和 現在對於所給序列要求出最少需要多少次操作可以將其變...
網易2023年內推筆試題
小易有乙個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找乙個演算法計算出優雅的點的個數,請你來幫幫他。例如 半徑的平方如果為25 優雅的點就有 3,4 4,3 0,5 5,0 一共12個點。輸入描述 輸入為乙個整數,即為圓半徑的平方,範...