顶上,基础。
尤其是float型的if和switch经常考的东西
尤其是float型的if和switch经常考的东西
要么死去,要么奋斗!
#include <stdio.h> #include <stdlib.h> int ball[14] = {0}, n = 14, k = 8; void dfs(int d, int c) { int i; if (c == k) { for (i = 0; i < n; i++) if (ball[i]) printf("%d ", i + 1); putchar('\n'); return; } for (i = d; i < n; i++) { if (!ball[i]) { ball[i] = 1; dfs(i + 1, c + 1); ball[i] = 0; } } } int main(void) { int i; for (i = 0; i < 3; i++) { ball[i] = 1; dfs(3, 1); ball[i] = 0; } return 0; }
#include <stdio.h> #include <stdlib.h> int ball[14] = {0}, n = 14, k = 8; void dfs(int d, int c) { int i, ilen; if (c == k) { for (i = 0; i < n; i++) if (ball[i]) printf("%d ", i + 1); putchar('\n'); return; } ilen = c < 3 ? 3 : n; for (i = d; i < ilen; i++) { if (!ball[i]) { ball[i] = 1; dfs(i + 1, c + 1); ball[i] = 0; } } } int main(void) { dfs(0, 0); return 0; }