c++20 AC 而 c++14 RE 可能的原因有哪些?
  • 板块学术版
  • 楼主FL_sleake
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/7 17:22
  • 上次更新2024/6/7 20:27:33
查看原帖
c++20 AC 而 c++14 RE 可能的原因有哪些?
368791
FL_sleake楼主2024/6/7 17:22

rt.

如下代码提交 CF525 D,c++20 AC,c++14 RE:

// LUOGU_RID: 143944567
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
char s[2010][2010];
void dfs(int x,int y){
	if(x<1||x>n||y<1||y>m||s[x][y]=='.') return;
	if(x+1<=n&&y+1<=m&&s[x+1][y]=='.'&&s[x+1][y+1]=='.'&&s[x][y+1]=='.') s[x][y]='.';
	else if(x-1>=1&&y-1>=1&&s[x-1][y]=='.'&&s[x-1][y-1]=='.'&&s[x][y-1]=='.') s[x][y]='.';
	else if(x-1>=1&&y+1<=m&&s[x-1][y]=='.'&&s[x-1][y+1]=='.'&&s[x][y+1]=='.') s[x][y]='.';
	else if(x+1<=n&&y-1>=1&&s[x+1][y]=='.'&&s[x+1][y-1]=='.'&&s[x][y-1]=='.') s[x][y]='.';
	else return;
	dfs(x+1,y+1);
	dfs(x+1,y-1);
	dfs(x-1,y+1);
	dfs(x-1,y-1);
	dfs(x+1,y);
	dfs(x-1,y);
	dfs(x,y+1);
	dfs(x,y-1);
}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			s[i][j]=getchar();
			if(s[i][j]=='\n') s[i][j]=getchar();
		}
	}
	for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(s[i][j]=='*') dfs(i,j);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++) cout<<s[i][j];
		cout<<endl;
	}
	return 0;
}
2024/6/7 17:22
加载中...