2 条题解
-
1
#include<bits/stdc++.h> using namespace std; struct note { long long x,y,num; }; char mi[1000][1000]; long long n,m; long long k=0; long long w,e; long long idx[8]= {1,1,1,0,0,-1,-1,-1}; long long idy[8]= {1,-1,0,1,-1,-1,0,1}; void bfs() { queue <note> qq; note t= {w,e,1}; qq.push(t); while(!qq.empty()) { note t1=qq.front(); qq.pop(); for(long long i=0; i<8; i++) { long long nx=t1.x+idx[i]; long long ny=t1.y+idy[i]; if(nx>=0&&nx<n&&ny>=0&&ny<m); { if(mi[nx][ny]=='1') { note t2={nx,ny,t1.num+1}; qq.push(t2); mi[nx][ny]='0'; } } } } k++; } int main() { cin>>n; for(long long i=0; i<n; i++) { for(long long j=0; j<n; j++) { cin>>mi[i][j]; } } for(long long i=0; i<n; i++) { for(long long j=0; j<n; j++) { if(mi[i][j]=='1') { w=i; e=j; bfs(); } } } cout<<k; }
信息
- ID
- 1064
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 163
- 已通过
- 39
- 上传者