Day4 T3搜尋 T4數學題排列組合

2022-05-14 20:57:54 字數 1103 閱讀 5885

很出名的題吧,費解的開關

同t2一樣也是一題很考思考的

附上題解再解釋吧:

對於每個狀態,演算法只需要列舉第一行改變哪些燈的狀態,只要第一行的狀態固定了,接下來的狀態改變方法都是唯一的:每一行需要改變狀態的位置都在上一行中不亮的燈的正下面,因為只有這樣才能使上一行的燈全亮。我們列舉第一行的狀態改變方法(共2^5種),對於每種方法都依次改變下面幾行的狀態使上面一行燈全亮。到最後一行我們需要判斷是否最後一行也恰好全亮,並更新最小步數。

首先需要找到第一行的狀態,怎麼寫?列舉深搜啊

找到了其中一種第一行的狀態之後呢?按照題解所說的,改變上一行中不亮的燈的正下面...怎麼寫?模擬啊不用說了吧

為什麼是這樣改變?因為需要把狀態全部推到最後一行,判斷是否可行

之後就是根據思路模擬模擬dfs一下即可了:

vara,g:array[0..6,0..6] of longint;

n,i,j,ans:longint;

k:char;

procedure huan(x,y:longint);//對(x,y)進行操作

begin

a[x,y]:=1-a[x,y];

end;

procedure work(x:longint);//開始在第一排的狀態已經確定的前提下進行其他行的操作

var i,j,k:longint;

begin

g:=a;//temp陣列

k:=x;//初始值表示已經操作過了幾次 當然這個k不總是0

for i:=1 to 4 do

for j:=1 to 5 do

if a[i,j]=0 then

begin

huan(i,j);huan(i+1,j);huan(i+2,j);huan(i+1,j-1);huan(i+1,j+1);//將這個點下面一格的燈操作一下

inc(k);

end;

for i:=1 to 5 do

if a[5,i]=0 then break//如果還有燈是關著的那麼就結束.

else

if i=5 then

if k數學題(感覺自己數論方面略弱...需要多練多總結才行)

準備睡覺了...晚安

省選模擬賽Day4T3迂迴

problem problem problem problem problem problem problem problem 3 迂迴 tour tour tour tour tour tour 題目描述 題目描述 給定一有向圖,邊長均為 1,求 長度 小於 k的環個數 mod m 保證 有向圖中...

啟智樹衝省隊組Day4T3 疏散

一棟大樓中 10 5 個人緊急疏散。大樓可以被視作網格圖 正檢視 有三個區域,由兩個寬為 1 的樓道隔開。走出樓道最下面即為離開。同一時刻乙個位置只能有乙個人。左右區域的人不能互相串。每個人每一秒能移動一格。問所有人離開所需的最小時間 這題正解比暴力好寫 一般貪心題都這樣 因此考場上沒想到貪心就很難...

T4 咕咕東學英語(模擬題

題目解析 首先讓ans最大組合取ans n n 1 2.因為有這樣乙個字串,它的每乙個字元都屬於乙個長度大於1的回文子串中 所以回文子串組合,比如長度為5的字串 最多的子串組合,無非是 s1s2 s1s2s3 s1s2s3s4 s1s2s3s4s5 s2s3 s2s3s4 s2s3s4s5 s3s4...