제출 #833466

#제출 시각아이디문제언어결과실행 시간메모리
833466vjudge1Bomb (IZhO17_bomb)C++17
17 / 100
236 ms6816 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define fi first
#define se second

const ll N = 2600;

ll n,m;
char a[N][N];
ll mins,temp,mins1;
int main() {
	cin >> n >> m;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=m; j++) {
			cin >> a[i][j];
		}
	}
	mins = 1e9;
	mins1 = 1e9;
	for(int i=1; i<=n; i++) {
		temp = 0;
		if(a[i][1] == '1') temp++;
		for(int j=2; j<=m; j++) {
			if(a[i][j] == a[i][j-1] && a[i][j] == '1') {
				temp++;
			}
			else {
//					cout << "i  " << i << " " << temp << endl;
				if(temp != 0)mins = min(mins,temp);
				if(a[i][j] == '0') temp = 0;
				else temp = 1;
			}
		}
	}
	if(temp != 0)mins = min(mins,temp);
//		cout << "temp " << mins << endl;
	temp = 0;
	for(int i=1; i<=m; i++) {
		temp = 0;
		if(a[1][i] == '1') temp++;
		for(int j=2; j<=n; j++) {
			if(a[j][i] == a[j-1][i] && a[j][i] == '1') {
				temp++;
			}
			else {
//					cout << "i  " << i << " " << temp << endl;
				if(temp != 0)mins1 = min(mins1,temp);
				if(a[j][i] == '0') temp = 0;
				else temp = 1;
			}
		}
	}
	if(temp != 0)mins1 = min(mins1,temp);
//		cout << mins << " " << mins1 << endl;
	cout << mins * mins1 << endl;
}
/*
10 1
0
0
0
1
1
0
0
1
1
1

9 1
011111011

5 6
001000
111110
111110
011110
000100

*/
#Verdict Execution timeMemoryGrader output
Fetching results...