1080.pas

来自「平时acm训练时ac的源代码」· PAS 代码 · 共 42 行

PAS
42
字号
var
 a:array[1..99,1..99] of boolean;
 cl:array [1..99] of byte;
 n,i,c,j:byte;

procedure ppp(k:byte);
var
  r:byte;
begin
 for r:=1 to n do begin
    if a[r,k]=true then begin
       if cl[k]=cl[r] then begin
         write(-1);
         halt;
       end;
       if cl[r]<>0 then continue;
       if cl[k]=1 then cl[r]:=2 else cl[r]:=1;
       ppp(r);
    end;
 end;
end;

begin
readln(n);
for i:=1 to n do
   for j:=1 to n do
       a[i,j]:=false;

for i:=1 to n do cl[i]:=0;

for i:=1 to n do begin
repeat
read(c);
if c=0 then break;
a[i,c]:=true;
a[c,i]:=true;
until false;
end;
cl[1]:=1;
ppp(1);
for i:=1 to n do write(cl[i]-1);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?