ENG  RUS Timus Online Judge Online Judge
Problems
Authors
Online contests
Site news
Webboard
Problem set
Submit solution
Judge status
Guide
Register
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

## Discussion of Problem 1045. Funny Game

Plz, if anybody has tests on which my program fails - write. Thanx
Posted by Igor 1 Apr 2002 20:58
Const
Max = 10000;
Var
A: Array [1..Max,0..20] Of Integer;
Was : Array [1..Max] Of Boolean;
N,K:Integer;
Procedure DataIn;
Var
B,I,J:Integer;
Begin
{  Assign(InPut,'InPut.txt');
ReSet(InPut);{}
FillChar(Was,SizeOf(Was),False);
For I:=1 To N-1 Do
Begin
Inc(A[J,0]);
A[J,A[J,0]]:=B;
Inc(A[B,0]);
A[B,A[B,0]]:=J;
End;
End;

Procedure DataOutWin(A:Integer);
Begin
{  Assign(OutPut,'OutPut.txt');
ReWrite(OutPut);{}
Write('First player wins flying to airport ');
Write(A);
Halt;
End;

Procedure DataOutLoose;
Begin
{  Assign(OutPut,'OutPut.txt');
ReWrite(OutPut);{}
WriteLn('First player loses');
Halt;
End;

Procedure Work;
Var
D,I,J,C,C1:Integer;
List,ExList:Array [1..Max] Of Record
R:Integer;
A:Integer;
End;
F:Boolean;
Begin
C:=1;
List.R:=K;
Was[K]:=True;
K:=1;
D:=0;
While C<>0 Do
Begin
Inc(D);
C1:=0;
For I:=1 To C Do
Begin
F:=False;
For J:=1 To A[List[I].R,0] Do
If Not Was[A[List[I].R,J]] Then
Begin
Inc(C1);
ExList[C1].R:=A[List[I].R,J];
If D = 1 Then ExList[C1].A:=ExList[C1].R
Else ExList[C1].A:=List[I].A;
Was[ExList[C1].R]:=True;
F:=True;
End;
If (Not F) And (K=2) Then DataOutWin(List[i].A);
End;
C:=C1;
List:=ExList;
K:=3-K;
End;
End;

Begin
DataIn;
Work;
DataOutLoose;
End.
Re: Plz, if anybody has tests on which my program fails - write. Thanx
Posted by Renat Mullakhanov 1 Apr 2002 22:12
"If there are more than one such airports, the program should find
one of them that has the minimal number."

Try this test:
2 1
1 2
1 1
Is this a valid entry?
Posted by Oscar 14 Mar 2003 18:43
Isn't it supposed to be N-1 lines refering to the conections between
airports?

If so, then the test case you posted is not a valid one.

> Try this test:
> 2 1
> 1 2
> 1 1