比赛 NOIP2008集训模拟3 评测结果 EEEEEEEEEE
题目名称 IP网络管理员 最终得分 0
用户昵称 zxc111 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-11-12 10:28:33
显示代码纯文本
program ooo;
var
i,j,k,n,m:longint;
s:string;
max,min:string;
t:text;
se:array[1..20] of string;
a,b,c:array[1..32] of longint;
procedure oo(s:string;ss:longint);
var
i,j,k,n:longint;
d:array[1..32] of longint;
begin
val(s,n,k);
i:=0;
fillchar(d,sizeof(d),0);
while n<>0 do
 begin
  inc(i);
  d[i]:=n mod 2;
  n:=n div 2;
 end;
for i:=8 downto 1 do
a[ss*8+8-i+1]:=d[i];
end;
begin
assign(t,'networkip.in');
reset(t);
readln(t,n);
min:='255.255.255.255';
max:='0.0.0.0';
for i:=1 to n do
begin
 readln(t,s);
 if s>max then max:=s;
 if s<min then min:=s;
end;
close(t);
j:=1;
k:=0;
m:=-1;
min:=min+'.';
max:=max+'.';
n:=0;
for i:=1 to length(min) do
if min[i]='.' then begin k:=i-1;s:=copy(min,j,n);inc(m);oo(s,m);j:=i+1;n:=0;end else inc(n);
for i:=1 to 32 do
b[i]:=a[i];
j:=1;
k:=0;
m:=-1;
n:=0;
for i:=1 to length(max) do
if max[i]='.' then begin k:=i-1;s:=copy(max,j,n);inc(m);oo(s,m);j:=i+1;n:=0;end else inc(n);
for i:=1 to 32 do
c[i]:=a[i];
i:=1;
while b[i]=c[i] do
inc(i);
dec(i);
fillchar(a,sizeof(a),0);
for j:=1 to i do
a[j]:=b[j];m:=i;
n:=0;
assign(t,'networkip.in');
rewrite(t);
for i:=1 to 32 do
 begin
  if i mod 8=0 then begin write(t,n+a[i]);n:=0;end else if a[i]=1 then
   n:=n+trunc(exp((8-(i mod 8))*ln(2)));
  if i=8 then write(t,'.');
  if i=16 then write(t,'.');
  if i=24 then write(t,'.');
 end;
n:=0;
writeln(t);
fillchar(a,sizeof(a),0);
for i:=1 to m do
a[i]:=1;
for i:=1 to 32 do
 begin
  if (i mod 8=0) then begin write(t,n+a[i]);n:=0;end else if a[i]=1 then
   n:=n+trunc(exp((8-(i mod 8))*ln(2)));
  if i=8 then write(t,'.');
  if i=16 then write(t,'.');
  if i=24 then write(t,'.');
 end;
close(t);
end.