蓋遊戲板問題

2021-07-05 10:14:37 字數 1297 閱讀 9501

/*

* youxi.cpp

**  created on: 2023年9月24日

*      author: sl

*//**

* 蓋遊戲板問題 演算法問題實戰策略

* 有乙個h*w大小的遊戲板,由黑白兩種格仔組成。現要用3個單位格仔的l狀板塊把白色格仔全部覆蓋掉。板塊可以自由旋轉,但不能重疊覆蓋黑色格仔,或超出遊戲版。

* 計算對給定遊戲板有幾種覆蓋方法。

*/#include

#include

using namespace std;

/** 對當前格仔的4種覆蓋方法構成板塊的3個格仔的相對位置(dy,dx)

* 因為假定從最左上的格仔開始覆蓋。

*/const int covertype[4][3][2] = ,,},

,,},

,,},

,,}};

vector< vector> board(3);

vector< vector> board1(8);

/** 把board的格仔(y,x)用第type種方法進行覆蓋或刪除已覆蓋的板塊。

* delta=1表示用板塊覆蓋,delta=-1則刪除已覆蓋的板塊

* 如果不能正常覆蓋(超出遊戲板的邊界,重疊、覆蓋黑色格仔)時,返回false值

*/bool set(vector>& board, int y, int x, int type, int delta)

return ok;}/*

* 返回覆蓋board中儲存著的所有空格的方法總數。

* board[j][i]=1表示已被覆蓋的格仔或黑色格仔

* board[j][i]=0表示未被覆蓋的白色格仔

*/int cover(vector>& board)

if(y!=-1) break;

}//初始部分:已覆蓋所有的白色盒子,則返回1

if(y==-1)

return 1;

int ret = 0;

for(int type = 0;type<4;type++)

return ret;

}int main()

for(int i = 0;i<8;i++)

}for(int j = 0;j<10;j++)

for(int j = 0;j<10;j++)

for(int i = 1;i<=6;i++)

int result = cover(board);

int result1 = cover(board1);

cout}

蓋亞遊戲資料分析面試總結

1 自我介紹 2 關於電信使用者的資料 方面,介紹具體的演算法是怎麼進行的。那麼如何進一步提高精度?我答可以用xgboost 3 如果給出一組遊戲類的歷史資料,arppu等資料呢?我回答的是arima模型,後來面試官提出prophet。可以提取趨勢 週期性 節假日等。facebook的開源包。4 對...

色板遊戲(線段樹)

題目背景 阿寶上學了,今天老師拿來了一塊很長的塗色板。題目描述 色板長度為l,l是乙個正整數,所以我們可以均勻地將它劃分成l塊1厘公尺長的小方格。並從左到右標記為1,2,l。現在色板上只有乙個顏色,老師告訴阿寶在色板上只能做兩件事 1.c a b c 指在a到 b 號方格中塗上顏色 c。2.p a ...

色板遊戲(線段樹)

題目背景 阿寶上學了,今天老師拿來了一塊很長的塗色板。題目描述 色板長度為l,l是乙個正整數,所以我們可以均勻地將它劃分成l塊1厘公尺長的小方格。並從左到右標記為1,2,l。現在色板上只有乙個顏色,老師告訴阿寶在色板上只能做兩件事 1.c a b c 指在a到 b 號方格中塗上顏色 c。2.p a ...