제출 #1299223

#제출 시각아이디문제언어결과실행 시간메모리
1299223coolboy19521Bomb (IZhO17_bomb)C++20
24 / 100
20 ms6708 KiB
#include "bits/stdc++.h"

#define FOR(i,a,b)for(int i=(a);i<(b);i++)
#define F0R(i,a)FOR(i,0,a)
#define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--)
#define R0F(i,a)ROF(i,0,a)
#define REP(a)F0R(_,a)

using namespace std;

int main() {
	cin.tie(nullptr)->sync_with_stdio(false);
	vector<string> a;
	int n, m; cin >> n >> m;
	F0R(i,n){
		string s; cin >> s;
		a.push_back(s);
	}
	int mw = INT_MAX, mh = INT_MAX;
	for (int i = 0; i < n; i ++){
		for (int j = 0; j < m;){
			if (a[i][j] == '1'){
				int k = j;
				for (; k < m and a[i][k] == '1'; k ++);
				int w = k - j;
				mw = min(mw, w);
				j = k;
			} else j ++;
		}
	}
	for (int i = 0; i < m; i ++){
		for (int j = 0; j < n;){
			if (a[j][i] == '1'){
				int k = j;
				for (; k < n and a[k][i] == '1'; k ++);
				int h = k - j;
				mh = min(mh, h);
				j = k;
			} else j ++;
		}
	}
	if (mw == INT_MAX) cout << 0 << endl;
	else cout << 1ll * mw * mh << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...