360筆試真題2020 表面積

2021-09-26 05:41:14 字數 1000 閱讀 3933

題目描述:

將長n*m厘公尺的矩形區域劃分成n行m列(每行每列的寬度均為1厘公尺),在第i行第j列的位置上疊放ai,j個邊長為1厘公尺的正方體(1≤ai,j≤100),所有正方體就組成了乙個立體圖形,每個正方體六個麵中的一部分會被其它正方體遮擋,未被遮擋的部分的總面積即為該立體圖形的表面積,那麼該立體圖形的表面積是多少平方厘公尺?

思路:用二維陣列接收資料後,為防止越界,先給陣列外圍加一圈0。遍歷原二維陣列,對於任意位置,先計算當前位置的表面積,等於1為mat[i][j]*6,大於1為mat[i][j]*6-(mat[i][j]-1)*2,之後遍歷該位置上下左右四個位置,減去遮擋面積。

import sys

n, m = [int(x) for x in sys.stdin.readline().strip().split()]

mat =

mm =

mm = [0 for _ in range(m+2)]

for i in range(n):

mm =

mm = [0] + [int(x) for x in sys.stdin.readline().strip().split()]

mm =

mm = [0 for _ in range(m+2)]

cur = 0

for i in range(1, n+1):

for j in range(1, m+1):

cur += mat[i][j]*6

if mat[i][j] > 1:

cur -= (mat[i][j]-1)*2

cur -= min(mat[i][j], mat[i - 1][j])

cur -= min(mat[i][j], mat[i + 1][j])

cur -= min(mat[i][j], mat[i][j - 1])

cur -= min(mat[i][j], mat[i][j + 1])

print(cur)

360校招筆試 第一題 計算表面積

給定乙個m n的矩陣,該矩陣每個值的含義代表該位置方格的高度h 1,計算該矩陣的表面積。1 因為h 1,所以每個位置上表面積和下表面積都是一樣的,且為2 2 然後可以根據該方格前後左右的格仔高度規律求前側後側左側右側的面積 include iostream include include inclu...

網易2020筆試真題 序列交換

題目描述 小易給你乙個包含n個數字的陣列a1,a2,an。你可以對這個陣列執行任意以下交換操作 對於陣列中的兩個下標i,j 1 i,j n 如果ai aj為奇數,就可以交換ai和aj 現在允許你使用操作次數不限,小易希望你能求出在所有通過若干次操作可以得到的陣列中,字典序最小的乙個是什麼 輸入描述 ...

360筆試 3 18 程式設計題

1.給乙個半徑為r的圓,圓心是 0,0 開始位於 r,0 分別求從始點順時針和逆時針走長度為l的終點座標 有可能走多圈,先處理成走一圈的形式,然後判是不是四個斷點,如果是則輸出 然後把l處理到第一象限,與x軸形成的夾角是l r,y點座標就是 那麼 includeusing namespace std...