xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

用Matlab的整數(shù)規(guī)劃函數(shù)求解數(shù)獨(dú),程序只有20行。

資源截圖

代碼片段和文件信息

%?初速狀態(tài),0表示沒填的格子
S?=?[?740080016
??900035004
??000700000
??070009500
??610050087
??002600040
??000004000
??300560002
??560010039];


%?定義0、1數(shù)組?A(i?j?k)?=?1,如果方格(i?j)里的數(shù)為k;否則為0。
%?sudoku問題即求一定假設(shè)條件下的解。
p?=?3;
A?=?binvar(p^2p^2p^2‘full‘);

%?以下為限制條件
F?=?[sum(A1)?==?1];?%?限制每行每個(gè)數(shù)恰好一個(gè)
F?=?[F?sum(A2)?==?1];?%?限制每列每個(gè)數(shù)恰好一個(gè)
F?=?[F?sum(A3)?==?1];?%?限制每個(gè)單元格子里恰好一個(gè)數(shù)

for?m?=?1:p
????for?n?=?1:p
????????for?k?=?1:p^2
????????????s?=?sum(sum(A((m-1)*p+(1:p)(n-1)*p+(1:p)k)));??
????????????F?=?[F?s?==?1];??%?限制每個(gè)3×3的方框里每個(gè)數(shù)恰好出現(xiàn)一次
????????end
????end
end

for?i?=?1:p^2
????for?j?=?1:p^2
????????if?S(ij)
????????????F?=?[F?A(ijS(ij))?==?1];?%?初始給定的數(shù)要一直
????????end
????end
end

%?直接求解
sol?=?solvesdp(F);?

Z?=?0;
for?i?=?1:p^2
??????Z?=?Z??+?i*double(A(::i));?%?簡單相加即可
end
Z?%?輸出結(jié)果

評(píng)論

共有 條評(píng)論