关于蓝桥杯T6
  • 板块学术版
  • 楼主旭日临窗XJ-尊
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/5/29 11:52
  • 上次更新2023/11/4 22:34:45
查看原帖
关于蓝桥杯T6
351015
旭日临窗XJ-尊楼主2021/5/29 11:52

为什么一直对83%?已交卷

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000;
int n,m,u,v,ans;
int a[maxn][maxn];
int fx[4][2] = {0,-1,0,1,-1,0,1,0};
bool vis[maxn][maxn];
void dfs(int x,int y){
	vis[x][y] = 1;
	for(int k = 0;k < 4;k++){
		int xx = x + fx[k][0],yy = y + fx[k][1];
		if(a[xx][yy] == 1 && !vis[xx][yy]) dfs(xx,yy);
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i = 1;i <= n;i++)
	for(int j = 1;j <= m;j++){
		scanf("%d",&a[i][j]);
		if(a[i][j] == 6) u = i,v = j;
	}
	dfs(u,v);
	for(int i = 1;i <= n;i++)
	for(int j = 1;j <= m;j++)
	if(vis[i][j]) ans++;
	printf("%d",ans);
	return 0;
}
2021/5/29 11:52
加载中...