注解
1、简单模拟题。输入nm,输出(n-1)(m-1),最后一行和最后一列不需要处理。每个位置的新元素等于原先该位置的元素加上其右边的、下边的、右下边的元素之和。
2、注意输入输出的处理。
代码
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string s;
cin>>s;
while(s.compare("ENDOFINPUT")){
int row, col;
cin>>row>>col;
char c[row][col];
int a[row][col];
memset(a, 0, sizeof(a));
for(int i=0; i<row; i++){
cin>>c[i];
}
for(int i=0; i<row-1; i++){
for(int j=0; j<col-1; j++){
a[i][j] = (c[i][j]-'0' + c[i+1][j]-'0'
+ c[i][j+1]-'0' + c[i+1][j+1]-'0') /4;
cout<<a[i][j];
}
cout<<endl;
}
cin>>s;
cin>>s;
}
return 0;
}