diff --git a/zeta_C/completed/10469.c b/zeta_C/completed/10469.c new file mode 100644 index 0000000..0bbb46d --- /dev/null +++ b/zeta_C/completed/10469.c @@ -0,0 +1,54 @@ +#include +#include +#include + +typedef struct { + int x, y; +} Point; + +int main() { + Point queens[64]; + int length = 0; + char temp[8]; + Point temp_pos; + bool flag = true; + for (int i = 0; i < 8; i++) { + scanf("%s", temp); + for (int j = 0; j < 8; j++) { + if (temp[j] == '*') { + queens[length].x = i; + queens[length].y = j; + length++; + } + } + } + + if (length != 8) flag = false; + + Point a, b; + + for (int i = 0; i < length; i++) { + if (flag == false) { + break; + } + a = queens[i]; + + for (int j = 0; j < i; j++) { + b = queens[j]; + if (a.x == b.x) { + flag = false; + break; + } else if (a.y == b.y) { + flag = false; + break; + } else if (abs(a.x - b.x) == abs(a.y - b.y)) { + flag = false; + break; + } + } + } + + flag ? printf("valid\n") : printf("invalid\n"); + + return 0; +} \ No newline at end of file