#include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,j,k) for(int i=(int)j;i<(int)k;i++) #define itrep(i,x) for(auto i=(x).begin(); i!=(x).end();i++) #define Sort(x) sort((x).begin(),(x).end()) #define all(x) (x).begin(),(x).end() #define fi first #define se second #define vec vector #define INF (int)1e9 #define INFL 1e18 #define MOD 1000000007 #define pb push_back #define MP make_pair #define PI 3.1415926535 #define fcout cout< P; int D=1; int dx[4]={0,1,0,-1},dy[4]={-1,0,1,0}; int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //templatevoid pp(T x){cout< void test(vector v){for(int i=0;i>h>>w; double ans=INF; vector> vv(h+2,vector(w+2)); vector> v(h+2,vector(w+2,0)); rep(i,0,h)rep(j,0,w){ cin>>vv[i+1][j+1]; v[i+1][j+1]=vv[i+1][j+1]-'0'; } rep(i,1,h+1){ double diff=0; rep(j,1,h+1){ rep(k,1,w+1){ if(v[j][k]==1)diff+=sqrt((j-i)*(j-i)+k*k); } } ans=min(ans,diff); } rep(i,1,h+1){ double diff=0; rep(j,1,h+1){ rep(k,1,w+1){ if(v[j][k]==1)diff+=sqrt((j-i)*(j-i)+(w+1-k)*(w+1-k)); } } ans=min(ans,diff); } rep(i,1,w+1){ double diff=0; rep(j,1,h+1){ rep(k,1,w+1){ if(v[j][k]==1)diff+=sqrt(j*j+(k-i)*(k-i)); } } ans=min(ans,diff); } rep(i,1,w+1){ double diff=0; rep(j,1,h+1){ rep(k,1,w+1){ if(v[j][k]==1)diff+=sqrt((h+1-j)*(h+1-j)+(k-i)*(k-i)); } } ans=min(ans,diff); } fcout<