四色定理 要Pascal
发布网友
发布时间:2022-04-30 22:55
我来回答
共4个回答
热心网友
时间:2022-06-19 22:20
四色定理又称四色猜想、四色问题,是世界三大数学猜想之一。四色定理是一个著名的数学定理,通俗的说法是:每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相同。1976年借助电子计算机证明了四色问题,问题也终于成为定理,这是第一个借助计算机证明的定理。四色定理的本质就是在平面或者球面无法构造五个或者五个以上两两相连的区域。
虽然任何平面地图可以只用四个颜色着色,但是这个定理的应用却相当有限,因为现实中的地图常会出现飞地,即两个不连通的区域属于同一个国家的情况(例如美国的阿拉斯加州),而制作地图时我们仍会要求这两个区域被涂上同样的颜色,在这种情况下,只用四种颜色将会造成诸多不便。
实际中用四种颜色着色的地图是不多见的,而且这些地图往往最少只需要三种颜色来染色。此外,即便地图能够只用四种颜色染色,为了区分起见,也会采用更多的颜色,以提示不同地区的差别。
热心网友
时间:2022-06-19 22:20
比较简单的搜索题。
由于数据范围很小,几乎不需要任何优化,即使用穷举法也完全没有问题。
var n,i,j,x,y,ans:longint;
a:array[1..5,1..5] of 0..1;{邻接矩阵}
b:array[1..5] of longint;{记录颜色}
procere search(i:longint);
var j,k:longint;pd:boolean;
begin
for j:=1 to 4 do {枚举颜色}
begin
pd:=true;
for k:=1 to i-1 do if (a[i,k]=1) and (b[k]=j) then begin pd:=false;break;end;{判断是否可行}
if pd then begin b[i]:=j;if i=5 then ans:=ans+1 else search(i+1);end;
{方案累加或继续搜索}
end;
end;
begin
readln(n);
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
for i:=1 to n do
begin
readln(x,y);
a[x,y]:=1;
a[y,x]:=1;
end;
ans:=0;
search(1);{搜索}
writeln(ans);{总方案数输出}
end.
热心网友
时间:2022-06-19 22:21
C++??
热心网友
时间:2022-06-19 22:21
LS你有没有考虑到
10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 1
这种数据呢。。。数组开到5/5似乎不够哦。。