PDA

View Full Version : رنگ آمیزی به روش تقسیم و حل



zahra6688
دوشنبه 26 اسفند 1387, 14:41 عصر
سلام
من می خوام یه برنامه بنویسم که به کمک روش تقسیم و غلبه یه صفحه شطرنجی سفید را خونه هاش را یکی در میان مشکی کنه! ولی نمی دونم چه جوری!:افسرده::ناراحت:

BOB
چهارشنبه 28 اسفند 1387, 16:22 عصر
سلام

راه‌ حلهاي زيادي ميتواند داشته باشد.
ميتوانيد با شماره گذاري خانه‌ها به شكل مثلا سطري، تمام خانه‌هايي كه مجموع سطر و ستونشان زوج است را رنگ كنيد.




Matrix = 1..m * 1..n
Call Paint(m*n);
Ex: Matrix 1..3*1..4 has 12 cells


Procedure Paint( CellNumber : int )
var col,row: int;
begin
if CellNumber >= 1 then
begin
row := CellNumber div n;
col := CellNumber mod n;
if col <> 0 then row:=row+1 else col = n;
if (row + col) mod 2 = 0 then Black(CellNumber) else White(CellNumber);
Paint( CellNumber-1 );
end;
end;

pesar irooni
شنبه 01 فروردین 1388, 22:27 عصر
خیلی راحته که
محیط شطرنج دو بعدیه و اگه فرض کنیم مثلا یه مربع 8*8 داریم ابتدا سطر و ستون هشتم را بصورت یک در میان رنگ سیاه میزنیم و بعد همین کار رو با یه مربع 7*7 میکنیم.

chess(n)
{
if(n>0)
{
for i=1 to n step 2
set-black-cell;
for j=1 to n step 2
set-black-cell;

chess(n-1);
}
else
{
return;
}
}