二貨小易有乙個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)
輸出描述:
輸出乙個最多可以放的蛋糕數
輸入例子:
3 2輸出例子:
4分析:鋪兩列兩行,從行的角度來講要空兩行,從列的角度講要空兩列;當歐幾里得距離等於2的情況就是只有(x1-x2)=2或-2&& (y1-y2)=0、(x1-x2)=0 && (y1-y2)=2或-2兩種情況。那我們只要遍歷一遍所有的格仔即可,用二維陣列g來標記,0表示可以放蛋糕,1表示不可以放。從g[0][0]開始,g[0][0]可以放蛋糕,g[0][2]和g[2][0]不可以放。一般情況下每遍歷乙個格仔,都要排除距離此個格仔為2的兩個格仔。
#include
#inlcude
using
namespace
std;
int g[1002][1002];
int w,h; //長,寬
//判斷x,y是否在範圍內
bool isok(intx, int y)
if(isok(i, j+2))
} }
cout
0;
}
2023年網易有道內推程式設計題
第一題 洗牌在生活中十分常見,現在需要寫乙個程式模擬洗牌的過程。現在需要洗2n張牌,從上到下依次是第1張,第2張,第3張一直到第2n張。首先,我們把這2n張牌分成兩堆,左手拿著第1張到第n張 上半堆 右手拿著第n 1張到第2n張 下半堆 接著就開始洗牌的過程,先放下右手的最後一張牌,再放下左手的最後...
2017 網易有道內推
第三題 乙個佇列,先pop乙個頭結點放在隊尾,再pop乙個頭結點輸出其值並丟棄。最後輸出的序列為1,2,3,n 問原始佇列元素排列是什麼 輸入 n n個數 輸出 乙個串 main.cpp youdao3 created by zjl on 16 8 27.include include using ...
2017 網易有道內推
題目在牛客網 關於資料解析 1.xml 資料結構只有乙個根節點,是可以巢狀的 2.jsonobjectwithdata options error 使用資料緩衝解析 3.writejsonobject tostream options error 使用流解析 4.xml 解析分為兩種 sax解析和d...