Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <stdio.h>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. typedef struct Punct {
  9. int l;
  10. int c;
  11. int pas;
  12. } Punct;
  13.  
  14. int n, k, **a;
  15. Punct T, S1, S2, R1, R2, *coada;
  16.  
  17. int dl[] = {-1, 0, 1, 0},
  18. dc[] = {0, 1, 0 , -1};
  19.  
  20. void init (int **a) {
  21. for (int i = 0; i < n+2; i++) {
  22. a[i][0] = -1;
  23. a[i][n+1] = -1;
  24. a[0][i] = -1;
  25. a[n+1][i] = -1;
  26. }
  27.  
  28. for (int i = 1; i <= n; i++) {
  29. for (int j = 1; j <= n; j++) {
  30. a[i][j] = 0;
  31. }
  32. }
  33. }
  34.  
  35. void coliniar () {
  36.  
  37. }
  38.  
  39. void lee (Punct start) {
  40. int p = 0, u = 0;
  41. bool exit = false;
  42.  
  43. coada[p].l = start.l;
  44. coada[p].c = start.c;
  45. coada[p].pas = 1;
  46.  
  47. a[coada[p].l][coada[p].c] = coada[p].pas;
  48.  
  49.  
  50. while (p <= u && !exit) {
  51. for (int i = 0; i < 4; i++) {
  52. if (a[coada[p].l + dl[i]][coada[p].c + dc[]] == 0) {
  53.  
  54. }
  55. }
  56. }
  57. }
  58.  
  59. int main()
  60. {
  61. freopen("harta1.in", "r", stdin);
  62. freopen("harta1.out", "w", stdout);
  63.  
  64. scanf("%d %d %d %d %d %d %d %d %d %d %d %d", &n, &T.l, &T.c, &S1.l, &S1.c, &S2.l, &S2.c, &R1.l, &R1.c, &R2.l, &R2.c, &k);
  65.  
  66. a = (int **) malloc (sizeof(int *) * (n + 2));
  67.  
  68. for (int i = 0; i < n+2; i++) {
  69. a[i] = (int *) malloc (sizeof(int) * (n+2));
  70. }
  71.  
  72. coada = (Punct *) malloc (sizeof(Punct) * n * n);
  73.  
  74. init(a);
  75.  
  76. Punct obstacol;
  77.  
  78. for (int i = 0; i < k; i++) {
  79. scanf("%d %d", &obstacol.l, &obstacol.c);
  80.  
  81. a[obstacol.l][obstacol.c] = -1;
  82. }
  83.  
  84. a[T.l][T.c] = -2;
  85.  
  86. int lgmax = 0, lg = 0;
  87.  
  88. for (int i = 1; i <= n; i++) {
  89. for (int j = 1; j <= n; j++) {
  90. if (a[i][j] == -1) {
  91. lg++;
  92. } else if (a[i][j] != -1) {
  93. if (lg > lgmax) {
  94. lgmax = lg;
  95. }
  96.  
  97. lg = 0;
  98. }
  99. }
  100. }
  101.  
  102. for (int i = 1; i <= n; i++) {
  103. for (int j = 1; j <= n; j++) {
  104. if (a[j][i] == -1) {
  105. lg++;
  106. } else if (a[j][i] != -1) {
  107. if (lg > lgmax) {
  108. lgmax = lg;
  109. }
  110.  
  111. lg = 0;
  112. }
  113. }
  114. }
  115.  
  116. printf("%d", lgmax);
  117.  
  118. return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement