1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include<cstdio> #include<algorithm> using namespace std;
const int maxn=1005; int n,x[maxn],y[maxn]; char s[maxn]; int main(){ scanf("%d",&n); bool suc=0; for (int i=1;i<=n;i++){ scanf("%s",s+1); for (int j=1;j<=n;j++) if (s[j]=='#') suc=1,x[i]++,y[j]++; } if (!suc) return puts("-1"),0; int ans=n*n; for (int i=1;i<=n;i++) ans=min(ans,n-x[i]+!y[i]); for (int i=1;i<=n;i++) if (y[i]!=n) ans++; printf("%d",ans); return 0; }
|