#9696: pascal機測正確但WA


2014F560 (Tak Eaw Ay)

學校 : 澳門濠江中學
編號 : 46955
來源 : [183.172.186.216]
最後登入時間 :
2016-12-17 16:34:03
d625. 踩地雷真好玩 -- jack1 | From: [60.246.83.78] | 發表日期 : 2015-03-06 18:59

我的做法是先找到存下'*'的位置,然後改變陣列中的數字..@@
 
const di:array[1..8] of integer=(-1,-1,-1,0,0,1,1,1);
      dj:array[1..8] of integer=(-1,0,1,-1,1,-1,0,1);
var map:array[1..100] of string;
    l,po,n,i,j,c:integer;
    s:string;
    p,q:array[1..10000] of integer;

procedure change(var c:char);
begin
  if c='-' then c:='1'
    else c:=succ(c);
end;

procedure search(i,j,m:integer);
begin
  if (j+dj[m]<=n) and (i+di[m]>=1) and (j+dj[m]>=1) and (i+di[m]<=n) then
    if map[i+di[m]][j+dj[m]]<>'*' then change(map[i+di[m]][j+dj[m]]);
end;

begin
  readln(n);
  for i:=1 to n do
  begin
    readln(s);
    map[i]:=s;
    l:=0;
    po:=pos('*',s);
    while po>0 do
    begin
      delete(s,po,1);
      inc(c);
      p[c]:=i;
      q[c]:=l+po;
      inc(l);
      po:=pos('*',s);
    end;
  end;
  for i:=1 to c do
    for j:=1 to 9 do
      search(p[i],q[i],j);
  for i:=1 to n do
    writeln(map[i]);
end.
ZJ上測試執行時
 
第 1 測資點(0%): WA (line:1) 
答案不正確
您的答案為: 121--1* 正確答案為: 111--1* 
不知道為甚麼會這樣...我在自己電腦上一樣的輸入時程式輸出明明是111-1*
可以請大大們幫我看一下嗎?謝謝 
 
#9697: Re:pascal機測正確但WA


a12345678665 (marktohark)

學校 : 國立虎尾科技大學
編號 : 48059
來源 : [49.213.194.197]
最後登入時間 :
2019-07-11 10:50:36
d625. 踩地雷真好玩 -- jack1 | From: [123.110.148.74] | 發表日期 : 2015-03-07 09:26

我的做法是先找到存下'*'的位置,然後改變陣列中的數字..@@
 
const di:array[1..8] of integer=(-1,-1,-1,0,0,1,1,1);
      dj:array[1..8] of integer=(-1,0,1,-1,1,-1,0,1);
var map:array[1..100] of string;
    l,po,n,i,j,c:integer;
    s:string;
    p,q:array[1..10000] of integer;

procedure change(var c:char);
begin
  if c='-' then c:='1'
    else c:=succ(c);
end;

procedure search(i,j,m:integer);
begin
  if (j+dj[m]<=n) and (i+di[m]>=1) and (j+dj[m]>=1) and (i+di[m]<=n) then
    if map[i+di[m]][j+dj[m]]<>'*' then change(map[i+di[m]][j+dj[m]]);
end;

begin
  readln(n);
  for i:=1 to n do
  begin
    readln(s);
    map[i]:=s;
    l:=0;
    po:=pos('*',s);
    while po>0 do
    begin
      delete(s,po,1);
      inc(c);
      p[c]:=i;
      q[c]:=l+po;
      inc(l);
      po:=pos('*',s);
    end;
  end;
  for i:=1 to c do
    for j:=1 to 9 do
      search(p[i],q[i],j);
  for i:=1 to n do
    writeln(map[i]);
end.
ZJ上測試執行時
 
第 1 測資點(0%): WA (line:1) 
答案不正確
您的答案為: 121--1* 正確答案為: 111--1* 
不知道為甚麼會這樣...我在自己電腦上一樣的輸入時程式輸出明明是111-1*
可以請大大們幫我看一下嗎?謝謝 

 


嘗試看看 變數初始化

 

我有幾次沒有變數初始化  結果異常的奇怪 

 
ZeroJudge Forum