POJ-2579: Blurred Vision

解法

やるだけ問題。こういうのは3分くらいでちゃちゃっと書けるようになりたい。実装時間6分。

#include <cstdio>
#include <cstring>
using namespace std;

char board[20][20];
char ans[20][20];
int R, C;

void solve(){
	for(int i=0; i<R; i++)for(int j=0; j<C; j++){
		ans[i][j] = '\0';
	}

	for(int i=0; i<R-1; i++)for(int j=0; j<C-1; j++){
		int sum = 0;
		for(int y=i; y<=i+1; y++)for(int x=j; x<=j+1; x++){
			sum += board[y][x] - '0';
		}
		ans[i][j] = '0' + (sum/4);
	}

	for(int i=0; i<R-1; i++){
		puts(ans[i]);
	}
}

int main(){
	char buf[20];
	for(;;){
		scanf("%s ",buf);
		if(!strcmp(buf, "ENDOFINPUT")) break;
		scanf("%d%d ",&R,&C);
		for(int i=0; i<R; i++){
			scanf("%s ",board[i]);
		}
		scanf("%s ", buf);
		solve();
	}
	return 0;
}