#include "rect.h"
#include <iostream>
#include <cstring>
using namespace std;
long long int ma1[2505],ma2[2505],tag[2505][2505],sx,sy,x,y,n,m,ans=0,map[2505][2505],cnt;
int bfs(long long int a,long long int b)
{
cnt++;
tag[a][b]=1;
sx=min(a,sx);
sy=min(b,sy);
x=max(a,x);
y=max(b,y);
for(int i=1;i<=4;i++)
{
int tmpx=a,tmpy=b;
if(i==1)tmpx++;
if(i==2)tmpy++;
if(i==3)tmpy--;
if(i==4)tmpx--;
if(tmpx>=0 && tmpx<n && tmpy>=0 && tmpy<m && map[tmpx][tmpy]==0 && tag[tmpx][tmpy]==0)
{
bfs(tmpx,tmpy);
}
}
}
long long count_rectangles(std::vector<std::vector<int> > a) {
n=a.size();
m=a[0].size();
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)map[i][j]=a[i][j];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(tag[i][j]==1 || map[i][j]==1)continue;
sx=i;
sy=j;
x=i;
y=j;
cnt=0;
bfs(i,j);
cout<<i<<" "<<j<<" "<<cnt<<endl;
if(cnt==(x-sx+1)*(y-sy+1) && x!=n-1 && y!=m-1 && sx!=0 && sy!=0)ans++;
}
}
return ans;
}
Compilation message
rect.cpp: In function 'int bfs(long long int, long long int)':
rect.cpp:26:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
24 ms |
508 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
secret mismatch |
2 |
Halted |
0 ms |
0 KB |
- |