开始时两个数组均是【30】【30】,提交后结果只有70分,改为35后为100分。
#include"iostream"
using namespace std;
int a[35][35], b[35][35];
int main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
b[i][j] = a[i][j];
}
}
int num;
for (int i = 0; i < n; i++) {
num = 1;
int j;
for (j = 0; j < m; j++) {
if (a[i][j] == a[i][j + 1])
num++;
if (a[i][j] != a[i][j + 1])
num = 1;
if (num >= 3) {
b[i][j - 1] = 0;
b[i][j] = 0;
b[i][j + 1] = 0;
}
}
}
for (int i = 0; i < m; i++) {
num = 1;
int j;
for (j = 0; j < n; j++) {
if (a[j][i] == a[j+1][i])
num++;
if (a[j][i] != a[j+1][i])
num = 1;
if (num >= 3) {
b[j-1][i] = 0;
b[j][i] = 0;
b[j+1][i] = 0;
}
}
}
for(int i=0;i<n;i++)
for (int j = 0; j < m; j++) {
cout << b[i][j];
if (j != m-1 )
cout << " ";
else if(i!=n-1)
cout << "\n";
}
return 0;
}