C 實現L型棋牌覆蓋

2022-08-03 00:54:09 字數 2702 閱讀 1506

原始檔:

//main

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

chessboard

;string[,] board = new

string

[size, size];

//do you know ?

string colors = consolecolor.getnames(typeof

(consolecolor));

console.writeline(

"please input special grid position (row and col):");

int rows =convert.toint32(console.readline());

int cols =convert.toint32(console.readline());

obj.cheseboard(board, size, rows, cols);

for (int r = 0; r < board.getlength(0); r++)

if ((value %= 15) == 0

)

console.foregroundcolor = (consolecolor)enum.parse(typeof

(consolecolor), colors[value]);

}console.write(board[r, c] + "");

= fc;

console.resetcolor();

}console.writeline();}}

else

console.readkey();}}

}

//class

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

chessboard

//棋盤只有乙個格仔

else

if (size == 1

)

else

}//////

大棋盤4分為小的棋盤,在沒有特殊位置的小棋盤中放l骨牌一角(作為特殊位置)

///然後再次對每個小的4劃分...至只有乙個格仔.

/// ///

//////

//////

///public

void divisionboard(string[,] board, int initialrow, int initialcol, int row, int col, int

size)

//it's important....全域性的骨牌數的副本

int ldominonumber = ldominonumberinitial++;

//判斷特殊位置的界限值

size /= 2

;

//left up

if (row < initialrow + size && col < initialcol +size)

else

else

= fc;

//最左上角

divisionboard(board, initialrow, initialcol, initialrow + size - 1, initialcol + size - 1

, size);

}//right up

if (row < initialrow + size && col >= initialcol +size)

else

else

divisionboard(board, initialrow, initialcol + size, initialrow + size - 1, initialcol +size, size);

}//left down

if (row >= initialrow + size && col < initialcol +size)

else

else

divisionboard(board, initialrow + size, initialcol, initialrow + size, initialcol + size - 1

, size);

}//right down

if (row >= initialrow + size && col >= initialcol +size)

else

else

divisionboard(board, initialrow + size, initialcol + size, initialrow + size, initialcol +size, size);}}

}}

//程式執行結果截圖

分治演算法 L型骨牌棋盤覆蓋

l型骨牌棋盤覆蓋 題目描述 有乙個棋盤,要求用給定的四種骨牌進行覆蓋。四種骨牌定義如下 給定的棋盤中有乙個格仔不存在,即不需要覆蓋的格仔。輸入輸入有多個用例,第乙個為用例個數n,接下來每個用例佔兩行,其中第一行為棋盤大小 如3,表示棋盤大小為2的3次,即8行8列 第二行為兩個正整數,表示空缺的格仔行...

C 覆蓋(虛函式的實現原理)

class shape private int m ir class circle public shape 類circle繼承類shape 當用shape類例項化乙個指標物件,並 shape shape new circle 此時的虛函式是如何實現的呢?當例項化乙個shape物件時,除了生成資料成...

Windows PE(檔案型)病毒C 實現

原本打算採用組合語言實現,但是考慮到本人win32彙編基礎實在不過關,除錯起來痛苦不斷啊,於是還是焦急的改用了c 但是編寫pe病毒最好還是採用彙編來編寫的,原因如下 隨著windows 時代的到來,不僅僅給我們帶來華麗的介面,更多的是給我們提供了 保護機制 何為 保護機制 通過乙個小故事來了解 從前...