[Logo] Mendo Judge Discussion Board - Forums
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
Messages posted by: tone
Forum Index » Profile for tone » Messages posted by tone
Author Message
Ако може некој да ми помогне, ми паѓа на тест пример 13 и тест пример 20, неможам да си ја најдам грешката.
Како може да биди иста сложеност кога едното е DFS а другото BFS...
Викав дека брзината на BFS е 0.109, на ова решение брзината е 0,015.
Во брзината ли е ? 0,109 ?!
Еве се потрудив уште малку, 46 реда
Не е спор, најдолгото решение е 0.015 секунди. 50 реда, во Pascal. Во право си kenobi, off topic заминав, се извинувам. Еве го кодот:

Најбрз начин за Овци е класичен flood fill . Многу поедноставен од BFS, во многу помалку реда.
Извини што ти го губев времето со крајно банална работа, стартов на форумов ми е полош од Ливерпул Во ред е сега, Фала уште еднаш
Само што го пробав и седмиот тест пример и на него локално враќа точен резултат значи има некој проблем со компајлерот.
Благодарам, прв пат пишувам на форумов и не ги знам баш правилата. Инаку ги сменив во longint и сега нема поминат временски лимит туку освен првиот сите ги враќа погрешен одговор а на вториот и на четвртиот локално враќа точен, за другите не гарантирам. Мислам дека проблемот настанува околу repeat until ама не сум сигурен.
[code]program pomos;
var
ime:array[1..100]of string;
a:array[1..100,1..2]of longint;
c:char;
i,n,k,q,m,min,minpoz:longint;
function pomal(a,b:integer):integer;
begin
if a<b then pomal:=a else pomal:=b
end;
function minimum(a,b,vkupno,krajno:integer):integer;
var
n,br:integer;
begin
n:=vkupno; br:=0;
while n>(krajno) do begin
if (n div 2)>=krajno then begin
br:=br+pomal(b,(n div 2)*a);
n:=n div 2;
end else begin
br:=br+(n-krajno)*a;
n:=krajno;
end;
end;
minimum:=br;
end;
begin
for i:=1 to 100 do ime[i]:='';
readln(n,m);
readln(k); min:=10000000;
for i:=1 to k do begin
repeat
read(c);
if c<>' ' then ime[i]:=ime[i]+c;
until c=' ';
read(a[i,1],a[i,2]);
end;
for i:=1 to k do begin
q:=minimum(a[i,1],a[i,2],n,m);
if q<min then begin
min:=q;
minpoz:=i;
end;
end;
writeln(ime[minpoz],' ',min);
readln();
end.
Испраќам решение ми враќа 0/20 од кои 4 надминат временски лимит и 16 погрешен резултат. Симнувам 2 тест примери од кои 1 со надминат временски лимит и еден со погрешен резултат и двата ги вади точно моментно. Што би можел да биди проблемот? програмирам во Pascal.
Ми најдува RuntimeError на 13, 15 и 17 пример а немам дозвола да го симнам. Што може да биде ?
 
Forum Index » Profile for tone » Messages posted by tone
Go to:   
Powered by JForum 2.1.8 © JForum Team