一本通1191,复制输入样例后出来的为什么是7?
  • 板块灌水区
  • 楼主sui13127198996
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/8/21 19:38
  • 上次更新2023/11/3 02:09:46
查看原帖
一本通1191,复制输入样例后出来的为什么是7?
981323
sui13127198996楼主2023/8/21 19:38
#include<bits/stdc++.h>
using namespace std;
char a[105][105];
int n,m,t;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	cin>>m;
	m--;
	while(m--){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				if(a[i][j]=='@'){
					if(a[i+1][j]=='.') a[i+1][j]='!';
					if(a[i-1][j]=='.') a[i-1][j]='!';
					if(a[i][j-1]=='.') a[i][j-1]='!';
					if(a[i][j+1]=='.') a[i][j+1]='!';
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]=='!') 
			a[i][j]='@';
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]=='@') t++;
		}
	}
	cout<<t;
	return 0;
}

照着网上的打的,没发现哪里不对,找到了的话请告诉我,非常感谢
输入样例:
5
....#
.#.@.
.#@..
#....
.....
4
输出样例:16
原题:http://ybt.ssoier.cn:8088/problem_show.php?pid=1191

2023/8/21 19:38
加载中...