|
|
back to boardWhy WA? Could anyboy help me? My programme is: const nnn=100; var n,k,b,c,d,f:integer; a:array[1..nnn,0..(nnn-1)*nnn div 2] of shortint; e:array[1..100] of integer; begin readln(n,k); k:=n*(n-1) div 2-k; for b:=1 to n do e[b]:=(b-1)*b div 2; for b:=1 to n do begin for c:=0 to e[n] do a[b,c]:=-1; a[b,e[b]]:=0; end; for b:=1 to n do for c:=0 to e[b]-1 do for f:=b-1 downto 1 do begin d:=f; if c<e[b-d] then break; if a[d,c-e[b-d]]>=0 then begin a[b,c]:=d; break; end; end; if a[n,k]<0 then writeln(-1) else while n>0 do begin for b:=a[n,k]+1 to n-1 do writeln(b,' ',b+1); if a[n,k]+1<>n then writeln(n,' ',a[n,k]+1); if a[n,k]<>0 then writeln(a[n,k],' ',a[n,k]+1); b:=k; dec(k,e[n-a[n,k]]); n:=a[n,b]; end; end. For example... I suppose you forgot that there are no cycles with 2 computers. try this input: 3 2 your output: 2 3 1 2 2 1 1 and 2 are connected twice, which is impossible. Hope this will help you. By the way, after you change your program, try such an input: 22 169 The answer is not -1 Good luck! Thanks! I've got ac. Thank you for your help! Re: For example... I'm sorry but I think the answer for 22 169 is not -1. It is possible to construct such a graph. It's like this: 1-2-[3..6]-[7..14]-[15..22] ([a..b] means the clique of node a,a+1,...,b) Am I right? Or Is this graph wrong? And my program got AC. Re: For example... Posted by Solver 3 Jul 2026 09:49 Could be a cycle as well for shorter output Re: For example... Posted by Solver 3 Jul 2026 10:56 For 22 169 my AC gives this (tree of cycles rooted at 1) 22 169 1 2 3 4 4 5 5 6 6 3 1 3 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 7 1 7 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 15 1 15 |
|
|