1 条题解
-
0
240202zj娄耀 (2212238) LV 8 @ 2023-06-28 16:46:33
//这题我强烈怀疑是题目的问题,一样的代码,一样的题目 //为啥space能过,这题过不了??? #include<bits/stdc++.h> using namespace std; int n,a[1005][1005],s=1,ans[50],t,k,sum; bool vis[1005][1005]; int dir[4][2]={{0,1},{1,0},{-1,0},{0,-1}}; void dfs(int x,int y) { int i,nx,ny; vis[x][y]=1; for(int i=0;i<4;i++) { nx=x+dir[i][0]; ny=y+dir[i][1]; if(a[nx][ny]&&!vis[nx][ny]) { s++; dfs(nx,ny); } } } int main() { cin>>n>>k; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { char c; cin>>c; if(c=='*') a[i][j]=1; else a[i][j]=0; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]&&!vis[i][j]) { dfs(i,j); ans[++t]=s; s=1; } sort(ans+1,ans+t+1); t-=k; for(int i=1;i<=t;i++) sum+=ans[i]; cout<<sum<<endl; return 0; }
- 1
信息
- ID
- 1610
- 难度
- 10
- 分类
- (无)
- 标签
- 递交数
- 10
- 已通过
- 0
- 通过率
- 0%
- 被复制
- 3
- 上传者