re三个点,wa两个,为什么
查看原帖
re三个点,wa两个,为什么
405662
苏智白君楼主2020/11/19 00:15
#include<stdio.h>

int main() {
	int a, b, c, d; int cnt = 0; int cnt1 = 0;
	int n, m, k; int xy[105][105] = {0};
	scanf_s("%d %d %d", &n, &m, &k);
		for (int i = 1; i <= m + 1; i++) {
			scanf_s("%d %d", &a, &b);
			for (int i = b,  j = b; i >= 1 && j <= 5; i--, j++) {
				int c = a;
				for (int p = a - 2; p <= c + 2; p++) {
					xy[p][i] = 1; xy[p][j] = 1;
					a++; c--; cnt1++;
				}
				if (cnt1==3) { break; }
			}
		}
		if (k!=0) {
			for (int o = m + 2; o <= m + k + 1; o++) {
				scanf_s("%d %d", &c, &d);
				for (int o1 = c - 2; o1 <= c + 2; o1++) {
					for (int o2 = d - 2; o2 <= d + 2; o2++) {
						xy[o1][o2] = 1;
					}
				}
			}
	     }
		for (int i1 = 1; i1 <= 100; i1++) {
			for (int i2 = 1; i2 <= 100; i2++) {
				if (xy[i1][i2] == 0) { cnt++; }
			}
	}
		getchar();
    printf("%d", cnt);
	return 0;
}
2020/11/19 00:15
加载中...