修改文件结构。
This commit is contained in:
42
POP/07/Optional04.c
Executable file
42
POP/07/Optional04.c
Executable file
@@ -0,0 +1,42 @@
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
int pickedColor[6] = { 0 };
|
||||
|
||||
bool pickNextColor(int layer, int maxColorCount) {
|
||||
int i = 1;
|
||||
if (layer == 6) {
|
||||
if ((pickedColor[1] != pickedColor[5])
|
||||
&& (pickedColor[1] != pickedColor[4])
|
||||
&& (pickedColor[1] != pickedColor[3])
|
||||
&& (pickedColor[5] != pickedColor[4])
|
||||
&& (pickedColor[3] != pickedColor[4])
|
||||
&& (pickedColor[4] != pickedColor[2])
|
||||
&& (pickedColor[3] != pickedColor[2])) {
|
||||
printf("Min color required: %d\n", maxColorCount);
|
||||
printf("A: %d\nB: %d\nC: %d\nD: %d\nE: %d\n",
|
||||
pickedColor[1], pickedColor[2], pickedColor[3], pickedColor[4], pickedColor[5]);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 1; i <= maxColorCount; i++) {
|
||||
pickedColor[layer] = i;
|
||||
if (pickNextColor(layer + 1, maxColorCount)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int maxColorCount = 2;
|
||||
while (!pickNextColor(1, maxColorCount)) {
|
||||
maxColorCount++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user