fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S, class T> inline S chmax(S &a, T b){
  5. if(a<b){
  6. a=b;
  7. }
  8. return a;
  9. }
  10. #define main dummy_main
  11. int main(){
  12. return 0;
  13. }
  14. #undef main
  15. int x;
  16. int y;
  17. int dist[100][100];
  18. int q[10000];
  19. int qs;
  20. int qe;
  21. class Solution{
  22. public:
  23. int maxDistance(vector<vector<int>>& A){
  24. int d, di[4]={-1,1,0,0}, dj[4]={0,0,-1,1}, i, j, k, ni, nj, res=0, si, sj;
  25. x = A.size();
  26. y = A[0].size();
  27. for(i=0;i<(x);i++){
  28. for(j=0;j<(y);j++){
  29. dist[i][j] = -1;
  30. }
  31. }
  32. qs = qe = 0;
  33. for(i=0;i<(x);i++){
  34. for(j=0;j<(y);j++){
  35. if(A[i][j]==1){
  36. dist[i][j] = 0;
  37. q[qe++] = i*y+j;
  38. }
  39. }
  40. }
  41. while(qs < qe){
  42. k = q[qs++];
  43. si = k / y;
  44. sj = k % y;
  45. for(d=0;d<(4);d++){
  46. ni = si + di[d];
  47. nj = sj + dj[d];
  48. if(ni < 0 || nj < 0 || ni >= x || nj >= y || dist[ni][nj]>=0){
  49. continue;
  50. }
  51. dist[ni][nj] = dist[si][sj] + 1;
  52. q[qe++] = ni * y + nj;
  53. }
  54. }
  55. for(i=0;i<(x);i++){
  56. for(j=0;j<(y);j++){
  57. chmax(res, dist[i][j]);
  58. }
  59. }
  60. if(res==0){
  61. res = -1;
  62. }
  63. return res;
  64. }
  65. }
  66. ;
  67. // cLay varsion 20190820-1
  68.  
  69. // --- original code ---
  70. // #define main dummy_main
  71. // {}
  72. // #undef main
  73. //
  74. // int x, y;
  75. // int dist[100][100];
  76. // int q[10000], qs, qe;
  77. //
  78. // class Solution {
  79. // public:
  80. // int maxDistance(vector<vector<int>>& A) {
  81. // int i, j, k;
  82. // int di[4] = {-1,1,0,0}, dj[4] = {0,0,-1,1}, d, si, sj, ni, nj;
  83. // int res = 0;
  84. //
  85. // x = A.size();
  86. // y = A[0].size();
  87. //
  88. // rep(i,x) rep(j,y) dist[i][j] = -1;
  89. // qs = qe = 0;
  90. //
  91. // rep(i,x) rep(j,y) if(A[i][j]==1){
  92. // dist[i][j] = 0;
  93. // q[qe++] = i*y+j;
  94. // }
  95. // while(qs < qe){
  96. // k = q[qs++];
  97. // si = k / y;
  98. // sj = k % y;
  99. // rep(d,4){
  100. // ni = si + di[d];
  101. // nj = sj + dj[d];
  102. // if(ni < 0 || nj < 0 || ni >= x || nj >= y || dist[ni][nj]>=0) continue;
  103. // dist[ni][nj] = dist[si][sj] + 1;
  104. // q[qe++] = ni * y + nj;
  105. // }
  106. // }
  107. //
  108. // rep(i,x) rep(j,y) res >?= dist[i][j];
  109. // if(res==0) res = -1;
  110. // return res;
  111. // }
  112. // };
  113.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
stdout
Standard output is empty