部落卫队pascal解题程序
生活随笔
收集整理的這篇文章主要介紹了
部落卫队pascal解题程序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
type
jh=set of 0..100;//集合
var
n,m,i,u,v,tj:longint;
w:jh;
a,f:array[0..100]of boolean;
s:array[1..100]of jh;
procedure search(dep:longint;w:jh;t:longint);//dep是第幾個(gè)人,w是總?cè)藬?shù)
var
i:longint;
begin
? ? if t>tj then
? ? begin
? ? ? ? tj:=t;
? ? ? ? a:=f;
? ? end;//a數(shù)組記錄人數(shù)最多時(shí)的每個(gè)人的存在情況
? ? for i:=dep+1 to n do
? ? begin
? ? ? ? if not(i in w) then//w存放被選人的仇敵,第i人不是仇敵才行
? ? ? ? begin
? ? ? ? ? ? f[i]:=true;//將i選進(jìn)去
? ? ? ? ? ? search(i,w+s[i],t+1);//搜索
? ? ? ? ? ? f[i]:=false;//回溯
? ? ? ? end;
? ? end;
end;
begin
? ? readln(n,m);//輸入
? ? w:=[];//賦值
? ? fillchar(f,sizeof(f),false);//賦值
? ? for i:=1 to m do
? ? begin
? ? ? ? readln(u,v);
? ? ? ? s[u]:=s[u]+[v];
? ? end;
? ? tj:=0;//最多人數(shù)
? ? search(0,w,0);//搜索
? ? writeln(tj);
? ? for i:=1 to n do//輸出
? ? if a[i]=true then write('1 ') else write('0 ');
end.
jh=set of 0..100;//集合
var
n,m,i,u,v,tj:longint;
w:jh;
a,f:array[0..100]of boolean;
s:array[1..100]of jh;
procedure search(dep:longint;w:jh;t:longint);//dep是第幾個(gè)人,w是總?cè)藬?shù)
var
i:longint;
begin
? ? if t>tj then
? ? begin
? ? ? ? tj:=t;
? ? ? ? a:=f;
? ? end;//a數(shù)組記錄人數(shù)最多時(shí)的每個(gè)人的存在情況
? ? for i:=dep+1 to n do
? ? begin
? ? ? ? if not(i in w) then//w存放被選人的仇敵,第i人不是仇敵才行
? ? ? ? begin
? ? ? ? ? ? f[i]:=true;//將i選進(jìn)去
? ? ? ? ? ? search(i,w+s[i],t+1);//搜索
? ? ? ? ? ? f[i]:=false;//回溯
? ? ? ? end;
? ? end;
end;
begin
? ? readln(n,m);//輸入
? ? w:=[];//賦值
? ? fillchar(f,sizeof(f),false);//賦值
? ? for i:=1 to m do
? ? begin
? ? ? ? readln(u,v);
? ? ? ? s[u]:=s[u]+[v];
? ? end;
? ? tj:=0;//最多人數(shù)
? ? search(0,w,0);//搜索
? ? writeln(tj);
? ? for i:=1 to n do//輸出
? ? if a[i]=true then write('1 ') else write('0 ');
end.
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/9500255.html
總結(jié)
以上是生活随笔為你收集整理的部落卫队pascal解题程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车站解题程序
- 下一篇: 最大正数pascal程序