⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 暴力破解不等式.pas

📁 很多不等式在展开以后形成如下的对称形式 sigma(s1^a1*s2^a2*...*sn^an)>=sigma(s1^b1*s2^b2*...*sn^bn) (当然 作为齐次不等式
💻 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 + -