| 
 | 
back to boardI need help very much... Program is Here:    Program Ural1169(Input,Output);  Const       MaxN=100;  Type       IntTypeNum1=Longint;       IntTypeNum3=Shortint;       SolutionType=array [1..MaxN] of IntTypeNum1;  Var       n,k,Total:IntTypeNum1;       Found:Boolean;       Sol:SolutionType;  Procedure Init;     begin       readln(n,k);     end;  Procedure Search(Left,Need:IntTypeNum1);     var       l,Temp:IntTypeNum1;     begin       if Need=0 then         begin           Found:=True;           Exit;         end;       if Left*(Left-1) div 2<Need then Exit;       for l:=3 to Left do         begin           Temp:=l*(l-1) div 2;           inc(Total);           Sol[Total]:=l;           if Need>=Temp then Search(Left-l,Need-Temp)             else               begin                 dec(Total);                 Break;               end;           if Found then Exit;           dec(Total);         end;     end;  Procedure Main;     var       i,L1,L2,Cur:IntTypeNum1;     begin       if (n=1) and (k=0) then Exit;       if n=2 then         begin           if k=0 then writeln(-1);           if k=1 then writeln(1,' ',2);           Exit;         end;       Found:=False;       Total:=0;       Search(n,n*(n-1) div 2-k);       if not Found then         begin           writeln(-1);           Exit;         end;       Cur:=0;       for i:=1 to Total do         begin           if i<>1 then writeln(1,' ',Cur+1);           for L1:=Cur+1 to Cur+Sol[i] do             for L2:=L1+1 to Cur+Sol[i] do writeln(L1,' ',L2);           inc(Cur,Sol[i]);         end;       for L1:=Cur+1 to n do writeln(1,' ',L1);     end;  Begin       Init;       Main;  End.   And I got WA on Test 18! How 郁闷 I am!!!(Who can Translate the Chinese to English...) Please help me. Thanks. ACed Now... I got AC... So fast. I have a Stupid error!!!   Add a Line before the Last Line of  "Procedure Main" After the Sentence "for L1:=Cur+1 to n do" Insert a Sentence: "if L1<>1 then "   Thus, the Program can Got AC!!!  |  
  | 
|