Advertisement
Guest User

Untitled

a guest
Jul 10th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. const
  2. maxc=1000000000;
  3. finp='';
  4. fout='';
  5. var
  6. n,m,t,u,v:longint;
  7. a,tg,trace:array[1..100,1..100] of longint;
  8. kqua:array[1..100] of longint;
  9. fi,fo:text;
  10.  
  11. procedure openfile;
  12. begin
  13. assign(fi,finp);
  14. reset(fi);
  15. assign(fo,fout);
  16. rewrite(fo);
  17. end;
  18.  
  19. procedure closefile;
  20. begin
  21. close(fi);
  22. close(fo);
  23. end;
  24.  
  25. procedure test0;
  26. var
  27. i,j,k:longint;
  28. begin
  29. for i:=1 to n do
  30. for j:=1 to n do trace[i,j]:=j;
  31. for k:=1 to n do
  32. for i:=1 to n do
  33. for j:=1 to n do
  34. if (i<>k) and (j<>k) then
  35. if tg[i,j]>tg[i,k]+tg[k,j] then
  36. begin
  37. tg[i,j]:=tg[i,k]+tg[k,j];
  38. trace[i,j]:=trace[i,k];
  39. end;
  40. write(fo,tg[u,v]);
  41. end;
  42.  
  43. procedure test1;
  44. var
  45. i,j,k,dem:longint;
  46. begin
  47. for i:=1 to n do
  48. for j:=1 to n do trace[i,j]:=j;
  49. for k:=1 to n do
  50. for i:=1 to n do
  51. for j:=1 to n do
  52. if tg[i,j]>tg[i,k]+tg[k,j] then
  53. begin
  54. tg[i,j]:=tg[i,k]+tg[k,j];
  55. trace[i,j]:=trace[i,k];
  56. end;
  57. dem:=1;
  58. kqua[1]:=u;
  59. while trace[u,v]<>v do
  60. begin
  61. inc(dem);
  62. kqua[dem]:=trace[u,v];
  63. u:=trace[u,v];
  64. end;
  65. inc(dem);
  66. kqua[dem]:=v;
  67. write(fo,dem,' ');
  68. for i:=1 to dem do write(fo,kqua[i],' ');
  69. end;
  70.  
  71.  
  72. procedure nhap;
  73. var
  74. i,j,k,c,luu:longint;
  75. begin
  76. readln(fi,n,m,t);
  77. for i:=1 to m do
  78. begin
  79. read(fi,u,v,c);
  80. a[u,v]:=c;
  81. a[v,u]:=c;
  82. end;
  83. for k:=1 to t do
  84. begin
  85. read(fi,luu,u,v);
  86. for i:=1 to n do
  87. for j:=1 to n do
  88. if a[i,j]<>0 then tg[i,j]:=a[i,j] else tg[i,j]:=maxc;
  89. if luu=0 then test0 else test1;
  90. writeln(fo);
  91. end;
  92. end;
  93.  
  94. begin
  95. openfile;
  96. nhap;
  97. closefile;
  98. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement