帮忙把这两段程序翻译成PASCAL语言

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:02:40
第一段:顺便问一下,这是什么语言,是C吗?
#include <cstdio>
#include <cstring>
#include <cstdlib>

int kaboom[500][500],n,huge,q[150000][2],tail,dis[500][500];
int dir[4][2]={-1,0,1,0,0,-1,0,1};

void moo(int x,int y,int d){
if((x>=0)&&(y>=0)&&(d<kaboom[x][y])&&(d<dis[x][y])){
if(kaboom[x][y]==huge){
printf("%d\n",d);
exit(0);
}
dis[x][y]=d;
q[tail][0]=x;
q[tail++][1]=y;
}
}

int main(){
int i,j,a,b,t;
huge=1<<20;
freopen("meteor.in","r",stdin);
freopen("meteor.out","w",stdout);
scanf("%d",&n);
for(i=0;i<500;i++)
for(j=0;j<500;j++)
dis[i][j]=kaboom[i][j]=huge;
for(i=0;i<n;i++){
scanf("%d%d%d",&a,&b,&t);
kaboom[a][b]<?=t;
if(a>0) kaboom[a-1][b]<?=t;

我是按照C++翻译的,打问号的两句好像有问题。
var
kaboom:array [0..500,0..500] of longint;
n,huge:longint;
q:array [0..150000,0..2] of longint;
tail:longint;
dis:array [0..500,0..500] of longint;
dir:array [0..4,0..2] of longint;
procedure moo(x,y,d:longint);
begin
if (x>=0) and (y>=0) and (d<kaboom[x][y]) and (d<dis[x][y]) then begin
if kaboom[x][y]=huge then begin
writeln(d:6);
close(input); close(output);
halt;
end;
dis[x][y]:=d;
q[tail][0]:=x;
q[tail][1]:=y;
inc(tail);
end;
end;
var i,j,a,b,t:longint;
begin
dir[0,0]:=-1; dir[0,1]:=0; dir[0,2]:=1;
dir[1,0]:=0; dir[1,1]:=0; dir[1,2]:=-1;
dir[2,0]:=0; dir[2,1]:=1;
huge:=1 shl 20; {?}
assign(input,'meteor.in'); reset(input);
assign(output,'meteor.out'); rewrite(output);
read(n);
for i:=0 to 4