費解的開關

2022-07-22 06:54:10 字數 748 閱讀 2772

鏈結

是否在6步之內讓所有的燈都開著

假設第一行固定,那麼通過第二行修改第一行,之後,通過第三行修改第二行(如果第二行為0,在第三行上按一下,變為1)

所以只要列舉第一行的狀態即可

時間複雜度 25

*500 * 20

第一行的可能 * 測試樣例組數 * 遞推數

#include using

namespace

std;

intn;

char g[10][10

];int dp[5][2] = ,,,,};

void handle(int x,int

y) }

}int

work()

}for(int k = 0; k < 4; k++)}}

bool flag = true

;

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

if(g[4][j] == '0'

)

if(flag) ans =min(ans,res);

memcpy(g, backup,

sizeof

(g));

}if(ans > 6) return -1

;

return

ans;

}int

main()

return0;

}

view code

費解的開關

你玩過 拉燈 遊戲嗎?25盞燈排成乙個5x5的方形。每乙個燈都有乙個開關,遊戲者可以改變它的狀態。每一步,遊戲者可以改變某乙個燈的狀態。遊戲者改變乙個燈的狀態會產生連鎖反應 和這個燈上下左右相鄰的燈也要相應地改變其狀態。我們用數字 1 表示一盞開著的燈,用數字 0 表示關著的燈。下面這種狀態 101...

費解的開關

時間限制 1 sec 記憶體限制 128 mb 提交 狀態 題目描述 你玩過 拉燈 遊戲嗎?25盞燈排成乙個5x5的方形。每乙個燈都有乙個開關,遊戲者可以改變它的狀態。每一步,遊戲者可以改變某乙個燈的狀態。遊戲者改變乙個燈的狀態會產生連鎖反應 和這個燈上下左右相鄰的燈也要相應地改變其狀態。我們用數字...

費解的開關

你玩過 拉燈 遊戲嗎?25盞燈排成乙個5x5的方形。每乙個燈都有乙個開關,遊戲者可以改變它的狀態。每一步,遊戲者可以改變某乙個燈的狀態。遊戲者改變乙個燈的狀態會產生連鎖反應 和這個燈上下左右相鄰的燈也要相應地改變其狀態。我們用數字 1 表示一盞開著的燈,用數字 0 表示關著的燈。下面這種狀態 101...