Submission #91365

#TimeUsernameProblemLanguageResultExecution timeMemory
91365emil_physmathBomb (IZhO17_bomb)C++11
24 / 100
300 ms6916 KiB
#include <iostream>
#include <stdio.h>
using namespace std;

bool a[2505][2505];

int FindWid(int n, int m);
int FindLen(int n, int m);
int main()
{
	int n, m;
	cin>>n>>m;
	for (int i=0; i<n; i++)
		for (int j=0; j<m; j++)
		{
			char temp;
			scanf(" %c", &temp);
			a[i][j]=(temp=='1'?true:false);
		}
	cout<<FindWid(n, m)*FindLen(n, m)<<'\n';

	char I;
	cin >> I;
	return 0;
}
int FindWid(int n, int m)
{
	int minWid=-1;
	for (int j=0; j<m; j++)
		for (int sti=0; sti<n; sti++)
		{
			int i=sti;
			if (!a[i][j]) continue;
			while (i+1<n && a[i+1][j])
				i++;
			if (minWid==-1 || i-sti+1<minWid)
				minWid=i-sti+1;
			sti=i;
		}
	return minWid==-1?0:minWid;
}
int FindLen(int n, int m)
{
	int minLen=-1;
	for (int i=0; i<n; i++)
		for (int stj=0; stj<m; stj++)
		{
			int j=stj;
			if (!a[i][j]) continue;
			while (j+1<m && a[i][j+1])
				j++;
			if (minLen==-1 || j-stj+1<minLen)
				minLen=j-stj+1;
			stj=j;
		}
	return minLen==-1?0:minLen;
}

Compilation message (stderr)

bomb.cpp: In function 'int main()':
bomb.cpp:17:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf(" %c", &temp);
    ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...