prestige

Untitled

Mar 12th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. const int inf = -(1e+9);
  5. int n, k;
  6. int mas[13][13];
  7. int d[13][13];
  8. int dp[13 * 13][3][13];
  9. int main() {
  10. /*freopen("ladder.in", "r" ,stdin);
  11. freopen("ladder.out", "w", stdout);*/
  12. cin >> n;
  13. for (int i = 0; i < n; i++) {
  14. for (int j = 0; j < n; j++) {
  15. cin >> mas[i][j];
  16. d[i][j] = mas[i][j];
  17. }
  18. }
  19. for (int i = 0; i < n; i++) {
  20. for (int j = i + 1; j < n; j++) {
  21. for (int k = 0; k < n; k++) {
  22. d[i][j] = max(d[i][j], d[i][j] + d[i][k] + d[k][j]);
  23. }
  24. }
  25. }
  26. for (int i = 0; i < n; i++) {
  27. for (int j = 0; j < n; j++) {
  28. dp[i * 13 + j][0][2] = i;
  29. dp[i * 13 + j][1][2] = j;
  30. dp[i * 13 + j][2][2] = -1;
  31. }
  32. }
  33. for (int i = 3; i <= n; i++) {
  34. int c = 0;
  35. for (int j = 0; j < n; j++) {
  36. for (int k = 0; k < 169; k++) {
  37. if (d[j][dp[k][0][i - 1]] != 0 && (dp[k][0][i - 1] + dp[k][1][i - 1])) {
  38. dp[c][0][i] = j;
  39. dp[c][2][i] = k;
  40. c++;
  41. }
  42. if (d[dp[k][0][i - 1]][j] != 0) {
  43. dp[c][1][i] = j;
  44. dp[c][2][i] = k;
  45. c++;
  46. }
  47. }
  48. }
  49. }
  50. for (int k = 0; k < 169; k++) {
  51. for (int i = n; i >= 3; i++) {
  52.  
  53. }
  54. }
  55. return 0;
Advertisement
Add Comment
Please, Sign In to add comment