大佬们为什么会错?p2275
  • 板块学术版
  • 楼主rui_de_aihao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/10 19:54
  • 上次更新2024/5/10 21:30:30
查看原帖
大佬们为什么会错?p2275
1023774
rui_de_aihao楼主2024/5/10 19:54

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
	int a[10005] = {0},b[10005] = {0},n,m,sum = 0,t,r,c,k;
	int i,j,control = 0,s;
	cin>>n>>m;
	cin>>t;
	for(i = 0; i<t; i++) {
		cin>>r>>c;
		a[(r-1)*m + c - 1] = 1;
	}
	cin>>k;
	for(s = 1; s<=k; s++) {
		for(i = 0; i<n; i++) {
			for(j = 0; j<m; j++) {
				if(control == 0) {
					if(a[i*m +j] == 1) {
						b[(i-1)*m+j] = 1;
						b[i*m +j-1] = 1;
						b[i*m + j] = 1;
						b[i*m +j + 1] = 1;
						b[(i+1)*m + j] = 1;
					}
				} else {
					if(b[i*m +j] == 1) {
						a[(i-1)*m+j] = 1;
						a[i*m +j-1] = 1;
						a[i*m + j] = 1;
						a[i*m +j + 1] = 1;
						a[(i+1)*m + j] = 1;
					}
				}
			}
		}
		control = (control+1)%2;
	}
	for(i = 0; i<m*n; i++) {
		if(a[i] == 1||b[i] == 1) {
			sum++;
		}
	}
	cout<<sum<<endl;
	return 0;
}

2024/5/10 19:54
加载中...