fork download
  1. #include<bits/stdc++.h>
  2. #define mp make_pair
  3. #define PII pair<int,int>
  4. #define fi first
  5. #define se second
  6. using namespace std;
  7.  
  8. const int NMAX=2005;
  9. const int LIMIT=40005;
  10.  
  11. int n,m,dp[5][NMAX][NMAX];
  12. char s[NMAX][NMAX];
  13. bool viz[NMAX][NMAX];
  14. queue<PII>Q[LIMIT];
  15. int dx[]={ -1 , 0 , 1 , 0 };
  16. int dy[]={ 0 , 1 , 0 , -1 };
  17.  
  18. bool Interior(int x,int y)
  19. {
  20. if (x>=1 && x<=n && y>=1 && y<=m) return 1;
  21. return 0;
  22. }
  23.  
  24. void Go(int val)
  25. {
  26. int i,j,kx,ky;
  27. PII aux;
  28. for (j=0;j<LIMIT;j++)
  29. {
  30. while (!Q[j].empty())
  31. {
  32. aux=Q[j].front();
  33. Q[j].pop();
  34. for (i=0;i<4;i++)
  35. {
  36. kx=aux.fi+dx[i];
  37. ky=aux.se+dy[i];
  38. if (Interior(kx,ky) && !viz[kx][ky] && s[kx][ky]!='#')
  39. {
  40. viz[kx][ky]=1;
  41. dp[val][kx][ky]=dp[val][aux.fi][aux.se];
  42. if (s[kx][ky]=='.') dp[val][kx][ky]++;
  43. Q[dp[val][kx][ky]].push(mp(kx,ky));
  44. }
  45. }
  46. }
  47. }
  48. }
  49.  
  50. int main()
  51. {
  52. int i,j,l,k,sol,cnt;
  53.  
  54. cin.sync_with_stdio(false);
  55. cin>>n>>m;
  56. for (i=1;i<=n;i++)
  57. cin>>(s[i]+1);
  58.  
  59. for (k=1;k<=3;k++)
  60. {
  61. for (i=1;i<=n;i++)
  62. for (j=1;j<=m;j++)
  63. {
  64. viz[i][j]=0;dp[k][i][j]=1<<20;
  65. if (s[i][j]==('0'+k))
  66. {
  67. viz[i][j]=1;dp[k][i][j]=0;
  68. Q[0].push(mp(i,j));
  69. }
  70. }
  71. Go(k);
  72. }
  73. sol=1<<20;
  74. for (i=1;i<=n;i++)
  75. for (j=1;j<=m;j++)
  76. if (s[i][j]!='#')
  77. {
  78. if (s[i][j]=='.') cnt=2;
  79. else cnt=0;
  80. // cout<<i<<" "<<j<<" "<<cnt<<" "<<(dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt)<<"\n";
  81. sol=min(sol,dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt);
  82. }
  83. if (sol==(1<<20)) {cout<<"-1\n";return 0;}
  84. cout<<sol<<"\n";
  85. return 0;
  86. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include<bits/stdc++.h>
^
Main.java:1: error: class, interface, or enum expected
#include<bits/stdc++.h>
        ^
Main.java:2: error: illegal character: '#'
#define mp make_pair
^
Main.java:3: error: illegal character: '#'
#define PII pair<int,int>
^
Main.java:4: error: illegal character: '#'
#define fi first
^
Main.java:5: error: illegal character: '#'
#define se second
^
Main.java:8: error: class, interface, or enum expected
const int NMAX=2005;
^
Main.java:9: error: class, interface, or enum expected
const int LIMIT=40005;
^
Main.java:11: error: class, interface, or enum expected
int n,m,dp[5][NMAX][NMAX];
^
Main.java:12: error: class, interface, or enum expected
char s[NMAX][NMAX];
^
Main.java:13: error: class, interface, or enum expected
bool viz[NMAX][NMAX];
^
Main.java:14: error: class, interface, or enum expected
queue<PII>Q[LIMIT];
^
Main.java:15: error: class, interface, or enum expected
int dx[]={ -1 , 0 , 1 , 0 };
^
Main.java:16: error: class, interface, or enum expected
int dy[]={ 0 , 1 , 0 , -1 };
^
Main.java:18: error: class, interface, or enum expected
bool Interior(int x,int y)
^
Main.java:21: error: class, interface, or enum expected
    return 0;
    ^
Main.java:22: error: class, interface, or enum expected
}
^
Main.java:27: error: class, interface, or enum expected
    PII aux;
    ^
Main.java:28: error: class, interface, or enum expected
    for (j=0;j<LIMIT;j++)
    ^
Main.java:28: error: class, interface, or enum expected
    for (j=0;j<LIMIT;j++)
             ^
Main.java:28: error: class, interface, or enum expected
    for (j=0;j<LIMIT;j++)
                     ^
Main.java:33: error: class, interface, or enum expected
                Q[j].pop();
                ^
Main.java:34: error: class, interface, or enum expected
                for (i=0;i<4;i++)
                ^
Main.java:34: error: class, interface, or enum expected
                for (i=0;i<4;i++)
                         ^
Main.java:34: error: class, interface, or enum expected
                for (i=0;i<4;i++)
                             ^
Main.java:37: error: class, interface, or enum expected
                       ky=aux.se+dy[i];
                       ^
Main.java:38: error: class, interface, or enum expected
                       if (Interior(kx,ky) && !viz[kx][ky] && s[kx][ky]!='#')
                       ^
Main.java:41: error: class, interface, or enum expected
                                dp[val][kx][ky]=dp[val][aux.fi][aux.se];
                                ^
Main.java:42: error: class, interface, or enum expected
                                if (s[kx][ky]=='.') dp[val][kx][ky]++;
                                ^
Main.java:43: error: class, interface, or enum expected
                                Q[dp[val][kx][ky]].push(mp(kx,ky));
                                ^
Main.java:44: error: class, interface, or enum expected
                            }
                            ^
Main.java:54: error: class, interface, or enum expected
    cin.sync_with_stdio(false);
    ^
Main.java:55: error: class, interface, or enum expected
    cin>>n>>m;
    ^
Main.java:56: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
    ^
Main.java:56: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
             ^
Main.java:56: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
                  ^
Main.java:59: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
    ^
Main.java:59: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
             ^
Main.java:59: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
                  ^
Main.java:61: error: class, interface, or enum expected
        for (i=1;i<=n;i++)
                 ^
Main.java:61: error: class, interface, or enum expected
        for (i=1;i<=n;i++)
                      ^
Main.java:62: error: class, interface, or enum expected
            for (j=1;j<=m;j++)
                     ^
Main.java:62: error: class, interface, or enum expected
            for (j=1;j<=m;j++)
                          ^
Main.java:64: error: class, interface, or enum expected
                    viz[i][j]=0;dp[k][i][j]=1<<20;
                                ^
Main.java:65: error: class, interface, or enum expected
                    if (s[i][j]==('0'+k))
                    ^
Main.java:67: error: class, interface, or enum expected
                            viz[i][j]=1;dp[k][i][j]=0;
                                        ^
Main.java:68: error: class, interface, or enum expected
                            Q[0].push(mp(i,j));
                            ^
Main.java:69: error: class, interface, or enum expected
                        }
                        ^
Main.java:72: error: class, interface, or enum expected
    }
    ^
Main.java:74: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
    ^
Main.java:74: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
             ^
Main.java:74: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
                  ^
Main.java:75: error: class, interface, or enum expected
        for (j=1;j<=m;j++)
                 ^
Main.java:75: error: class, interface, or enum expected
        for (j=1;j<=m;j++)
                      ^
Main.java:79: error: class, interface, or enum expected
                    else cnt=0;
                    ^
Main.java:81: error: class, interface, or enum expected
                    sol=min(sol,dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt);
                    ^
Main.java:82: error: class, interface, or enum expected
                }
                ^
Main.java:83: error: class, interface, or enum expected
    if (sol==(1<<20)) {cout<<"-1\n";return 0;}
                                    ^
Main.java:83: error: class, interface, or enum expected
    if (sol==(1<<20)) {cout<<"-1\n";return 0;}
                                             ^
Main.java:85: error: class, interface, or enum expected
    return 0;
    ^
Main.java:86: error: class, interface, or enum expected
}
^
61 errors
stdout
Standard output is empty