【題解】Zerojudge f149 - 3. 炸彈偵測器 (Detector)

#include <stdio.h>
#include <stdlib.h>

int x, y, detected=0, undetected=0;

int map[20][20];

int main(void) {
	//read in
	scanf("%d%d", &y, &x);
	for(int i=0;i<y;i++) {
		for(int j=0;j<x;j++) {
			scanf("%d", &map[j][i]);
		}
	}
	
	//detect
	for(int i=0;i<y;i++) {
		for(int j=0;j<x;j++) {
			switch(map[j][i]) {
				case 0:
					break;
				case 1:
					break;
				default:
					for(int m=j-1;m<=j+1;m++) {
						for(int n=i-1;n<=i+1;n++) {
							if(m>=0&&m<x&&n>=0&&n<y&&!(m==j&&n==i)) {
								if(map[m][n]>=5) {
									map[m][n]=6;
									map[j][i]=6;
								}
							}
						}
					}
					if(map[j][i]==5) {
						for(int m=j-1;m<=j+1;m++) {
							for(int n=i-1;n<=i+1;n++) {
								if(m>=0&&m<x&&n>=0&&n<y) {
									if(map[m][n]==1) {
										detected++;
										map[m][n]=0;
									}
								}
							}
						}
					}
					break;
			}
		}
	}
	
	for(int i=0;i<y;i++) {
		for(int j=0;j<x;j++) {
			if(map[j][i]==1) {
				undetected++;
			}
		}
	}
	
	//print out
	printf("%d %d", detected, undetected);
	
	return 0;
}

如果本文對您有幫助的話幫忙點擊廣告和分享吧!

© 若無特別註明,本站文章皆由 WeakMouse's Coding Blog 原創 ,轉載引用本文前請先留言告知。本文轉載請註明文章源自 WeakMouse's Coding Blog ,作者 ,並附上原文連結: 【題解】Zerojudge f149 - 3. 炸彈偵測器 (Detector)

張貼留言

0 留言