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=1005;
  9. const int LIMIT=1000005;
  10.  
  11. int n,m,len1,len2,dp[5][NMAX][NMAX];
  12. char s[NMAX][NMAX];
  13. bool viz[NMAX][NMAX];
  14. PII Q1[LIMIT],Q2[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. while (len1)
  29. {
  30. len2=0;
  31. for (j=1;j<=len1;j++)
  32. {
  33. aux=Q1[j];
  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]=='.')
  43. {
  44. dp[val][kx][ky]++;
  45. Q2[++len2]=mp(kx,ky);
  46. }
  47. else Q1[++len1]=mp(kx,ky);
  48. }
  49. }
  50. }
  51. //copiere
  52. len1=len2;
  53. for (j=1;j<=len2;j++) Q1[j]=Q2[j];
  54. }
  55. }
  56.  
  57. int main()
  58. {
  59. int i,j,k,sol,cnt;
  60.  
  61. cin.sync_with_stdio(false);
  62. cin>>n>>m;
  63. for (i=1;i<=n;i++)
  64. cin>>(s[i]+1);
  65.  
  66. for (k=1;k<=3;k++)
  67. {
  68. len1=0;
  69. for (i=1;i<=n;i++)
  70. for (j=1;j<=m;j++)
  71. {
  72. viz[i][j]=0;dp[k][i][j]=1<<20;
  73. if (s[i][j]==('0'+k))
  74. {
  75. viz[i][j]=1;dp[k][i][j]=0;
  76. len1++;Q1[len1]=mp(i,j);
  77. }
  78. }
  79. Go(k);
  80. }
  81. sol=1<<20;
  82. for (i=1;i<=n;i++)
  83. for (j=1;j<=m;j++)
  84. if (s[i][j]!='#')
  85. {
  86. if (s[i][j]=='.') cnt=2;
  87. else cnt=0;
  88. // cout<<i<<" "<<j<<" "<<cnt<<" "<<(dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt)<<"\n";
  89. sol=min(sol,dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt);
  90. }
  91. if (sol==(1<<20)) {cout<<"-1\n";return 0;}
  92. cout<<sol<<"\n";
  93. return 0;
  94. }
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=1005;
^
Main.java:9: error: class, interface, or enum expected
const int LIMIT=1000005;
^
Main.java:11: error: class, interface, or enum expected
int n,m,len1,len2,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
PII Q1[LIMIT],Q2[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
    while (len1)
    ^
Main.java:31: error: class, interface, or enum expected
            for (j=1;j<=len1;j++)
            ^
Main.java:31: error: class, interface, or enum expected
            for (j=1;j<=len1;j++)
                     ^
Main.java:31: error: class, interface, or enum expected
            for (j=1;j<=len1;j++)
                             ^
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]=='.')
                                ^
Main.java:45: error: class, interface, or enum expected
                                        Q2[++len2]=mp(kx,ky);
                                        ^
Main.java:46: error: class, interface, or enum expected
                                    }
                                    ^
Main.java:48: error: class, interface, or enum expected
                            }
                            ^
Main.java:53: error: class, interface, or enum expected
            for (j=1;j<=len2;j++) Q1[j]=Q2[j];
            ^
Main.java:53: error: class, interface, or enum expected
            for (j=1;j<=len2;j++) Q1[j]=Q2[j];
                     ^
Main.java:53: error: class, interface, or enum expected
            for (j=1;j<=len2;j++) Q1[j]=Q2[j];
                             ^
Main.java:54: error: class, interface, or enum expected
        }
        ^
Main.java:61: error: class, interface, or enum expected
    cin.sync_with_stdio(false);
    ^
Main.java:62: error: class, interface, or enum expected
    cin>>n>>m;
    ^
Main.java:63: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
    ^
Main.java:63: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
             ^
Main.java:63: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
                  ^
Main.java:66: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
    ^
Main.java:66: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
             ^
Main.java:66: error: class, interface, or enum expected
    for (k=1;k<=3;k++)
                  ^
Main.java:69: error: class, interface, or enum expected
        for (i=1;i<=n;i++)
        ^
Main.java:69: error: class, interface, or enum expected
        for (i=1;i<=n;i++)
                 ^
Main.java:69: error: class, interface, or enum expected
        for (i=1;i<=n;i++)
                      ^
Main.java:70: error: class, interface, or enum expected
            for (j=1;j<=m;j++)
                     ^
Main.java:70: error: class, interface, or enum expected
            for (j=1;j<=m;j++)
                          ^
Main.java:72: error: class, interface, or enum expected
                    viz[i][j]=0;dp[k][i][j]=1<<20;
                                ^
Main.java:73: error: class, interface, or enum expected
                    if (s[i][j]==('0'+k))
                    ^
Main.java:75: error: class, interface, or enum expected
                            viz[i][j]=1;dp[k][i][j]=0;
                                        ^
Main.java:76: error: class, interface, or enum expected
                            len1++;Q1[len1]=mp(i,j);
                            ^
Main.java:76: error: class, interface, or enum expected
                            len1++;Q1[len1]=mp(i,j);
                                   ^
Main.java:77: error: class, interface, or enum expected
                        }
                        ^
Main.java:80: error: class, interface, or enum expected
    }
    ^
Main.java:82: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
    ^
Main.java:82: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
             ^
Main.java:82: error: class, interface, or enum expected
    for (i=1;i<=n;i++)
                  ^
Main.java:83: error: class, interface, or enum expected
        for (j=1;j<=m;j++)
                 ^
Main.java:83: error: class, interface, or enum expected
        for (j=1;j<=m;j++)
                      ^
Main.java:87: error: class, interface, or enum expected
                    else cnt=0;
                    ^
Main.java:89: error: class, interface, or enum expected
                    sol=min(sol,dp[1][i][j]+dp[2][i][j]+dp[3][i][j]-cnt);
                    ^
Main.java:90: error: class, interface, or enum expected
                }
                ^
Main.java:91: error: class, interface, or enum expected
    if (sol==(1<<20)) {cout<<"-1\n";return 0;}
                                    ^
Main.java:91: error: class, interface, or enum expected
    if (sol==(1<<20)) {cout<<"-1\n";return 0;}
                                             ^
Main.java:93: error: class, interface, or enum expected
    return 0;
    ^
Main.java:94: error: class, interface, or enum expected
}
^
68 errors
stdout
Standard output is empty