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 S[15][15];
  18. int vis[15][15];
  19. int dx[4] = {-1,1,0,0};
  20. int dy[4] = {0,0,-1,1};
  21. int solve(int i, int j){
  22. int ni;
  23. int nj;
  24. int d;
  25. int res;
  26. int tmp = 0;
  27. res = S[i][j];
  28. vis[i][j] = 1;
  29. for(d=(0);d<(4);d++){
  30. ni = i + dx[d];
  31. nj = j + dy[d];
  32. if(ni < 0 || nj < 0 || ni >= X || nj >= Y || vis[ni][nj]){
  33. continue;
  34. }
  35. chmax(tmp, solve(ni,nj));
  36. }
  37. vis[i][j] = 0;
  38. return res + tmp;
  39. }
  40. class Solution{
  41. public:
  42. int getMaximumGold(vector<vector<int>>& grid){
  43. int i;
  44. int res = 0;
  45. X = grid.size();
  46. Y = grid[0].size();
  47. for(i=(0);i<(X);i++){
  48. int j;
  49. for(j=(0);j<(Y);j++){
  50. S[i][j] = grid[i][j];
  51. }
  52. }
  53. for(i=(0);i<(X);i++){
  54. int j;
  55. for(j=(0);j<(Y);j++){
  56. vis[i][j] = 0;
  57. }
  58. }
  59. for(i=(0);i<(X);i++){
  60. int j;
  61. for(j=(0);j<(Y);j++){
  62. if(S[i][j]==0){
  63. vis[i][j] = 1;
  64. }
  65. }
  66. }
  67. for(i=(0);i<(X);i++){
  68. int j;
  69. for(j=(0);j<(Y);j++){
  70. if(vis[i][j]==0){
  71. chmax(res, solve(i,j));
  72. }
  73. }
  74. }
  75. return res;
  76. }
  77. }
  78. ;
  79. // cLay varsion 20191102-1
  80.  
  81. // --- original code ---
  82. // #define main dummy_main
  83. // {}
  84. // #undef main
  85. //
  86. // int X, Y, S[15][15];
  87. // int vis[15][15];
  88. // int dx[4] = {-1,1,0,0};
  89. // int dy[4] = {0,0,-1,1};
  90. //
  91. // int solve(int i, int j){
  92. // int ni, nj, d;
  93. // int res, tmp = 0;
  94. //
  95. // res = S[i][j];
  96. // vis[i][j] = 1;
  97. //
  98. // rep(d,4){
  99. // ni = i + dx[d];
  100. // nj = j + dy[d];
  101. // if(ni < 0 || nj < 0 || ni >= X || nj >= Y || vis[ni][nj]) continue;
  102. // tmp >?= solve(ni,nj);
  103. // }
  104. //
  105. // vis[i][j] = 0;
  106. // return res + tmp;
  107. // }
  108. //
  109. // class Solution {
  110. // public:
  111. // int getMaximumGold(vector<vector<int>>& grid) {
  112. // int res = 0;
  113. // X = grid.size();
  114. // Y = grid[0].size();
  115. // rep(i,X) rep(j,Y) S[i][j] = grid[i][j];
  116. // rep(i,X) rep(j,Y) vis[i][j] = 0;
  117. // rep(i,X) rep(j,Y) if(S[i][j]==0) vis[i][j] = 1;
  118. // rep(i,X) rep(j,Y) if(vis[i][j]==0) res >?= solve(i,j);
  119. // return res;
  120. // }
  121. // };
  122.  
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