问题:看下图能够组成多少个三角形?
穷举法的MATLAB代码:
A =logical([
0 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 0 0 1 0 0 0
1 1 0 1 1 0 1 0 1 0 0
1 1 1 0 1 1 0 0 0 1 0
1 1 1 1 0 1 1 1 0 0 1
1 0 0 1 1 0 1 1 0 1 0
1 0 1 0 1 1 0 1 1 0 0
1 1 0 0 1 1 1 0 1 1 1
1 0 1 0 0 0 1 1 0 1 1
1 0 0 1 0 1 0 1 1 0 1
1 0 0 0 1 0 0 1 1 1 0 ]);
line=logical([
1 1 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 1 0 1 0 0
1 0 0 4 0 1 0 0 0 1 0
1 0 0 0 1 0 0 0 0 0 1
0 1 1 1 1 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 1 1 1 1]);
num=0;
for i=1:size(coms,1)
ifA(coms(i,1),coms(i,2))&&A(coms(i,2),coms(i,3))&&A(coms(i,3),coms(i,1))&&~any(all(line(:,coms(i,:)),2))
num=num+1;
end
end
disp(['总的三角形数目为:' num2str(num)]);