📄 暴力破解不等式.pas
字号:
program equ;
type
shu=array[0..200] of longint;
var
a:array[0..200] of shu;
i,j,k,n,m,x,y:longint;
procedure qsort(l,r:longint;var a:shu);
var i,j,k,mid:longint;
begin
i:=l; j:=r; mid:=a[(i+r)shr 1];
repeat
while a[i]>mid do inc(i);
while a[j]<mid do dec(j);
if i<=j then
begin
k:=a[i];
a[i]:=a[j];
a[j]:=k;
inc(i); dec(j);
end;
until i>j;
if i<r then qsort(i,r,a);
if j>l then qsort(l,j,a);
end;
operator >(a,b:shu)c:boolean;
var i:longint;
begin
for i:=1 to n do
if a[i]>b[i] then exit(true)
else if a[i]<b[i] then exit(false);
exit(false);
end;
operator =(a,b:shu)c:boolean;
var i:longint;
begin
for i:=1 to n do
if a[i]<>b[i] then exit(false);
exit(true);
end;
procedure cmp(a,b:shu;x,y:longint);
var
i,j,k:longint;
temp:shu;
flag:boolean;
begin
if a=b then
begin
writeln('Equal!');
exit;
end;
if b>a then
begin
temp:=a; a:=b; b:=temp;
flag:=false;
end
else flag:=true;
k:=0;
for i:=1 to n do
begin
a[i]:=a[i]+k;
if a[i]<b[i] then
begin
writeln('Can''t tell!');
exit;
end;
k:=a[i]-b[i];
end;
if flag then
writeln(x)
else writeln(y);
end;
begin
read(k,n);
for i:=1 to k do
begin
for j:=1 to n do
read(a[i,j]);
qsort(1,n,a[i]);
end;
read(x,y);
while (x<>0)or(y<>0) do
begin
cmp(a[x],a[y],x,y);
read(x,y);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -