|
  
- 帖子
- 6744
- 精华
- 21
- 积分
- 52515
- 鲜花
- 784 朵
- 主题
- 287 帖
      
|
问题二,得到23个的解- 0: ABCD
- 1: AEFG
- 2: AHIJ
- 3: AKLM
- 4: ANOP
- 5: AQRS
- 6: BEHK
- 7: BFIL
- 8: BGJM
- 9: BNQT
- 10: CEIM
- 11: CFHN
- 12: CGKO
- 13: CJLP
- 14: DEJN
- 15: DFKP
- 16: DGHL
- 17: DIOQ
- 18: DMRT
- 19: ELOR
- 20: EPST
- 21: FJOS
- 22: GINR
- 23: HMPQ
复制代码- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define max 256
- char Result[max][5];
- char CH[21] = "ABCDEFGHIJKLMNOPQRST";
- char TEMP[5];
- int m = 0;
- void init(void)
- {
- int i;
- for (i = 0; i < max; i ++)
- Result[i][5] = '\0';
- TEMP[5] = '\0';
- }
- void Circle(int level, int position)
- {
- int i, j, k, l;
- int bool;
- int sum;
- char c;
- if (level == 4)
- {
- printf("%d: ", m);
- for (i = 0; i < 4; i ++)
- {
- Result[m][i] = TEMP[i];
- printf("%c", TEMP[i]);
- }
- m ++;
- printf("\n");
- }
- else
- {
- if (position < 20)
- for (i = position; i < 20; i ++)
- {
- TEMP[level] = CH[i];
- bool = 1;
- if (level > 0)
- for (l = 0; l < level; l ++)
- if (bool == 1)
- if (TEMP[l] == TEMP[level])
- bool = 0;
- if (bool == 1)
- {
- if (m > 0)
- {
- bool = 1;
- for (j = 0; j < m; j ++)
- if (bool == 1)
- {
- sum = 0;
- for (l = 0; l <= level; l ++)
- if (strchr(Result[j], TEMP[l]) != NULL)
- sum ++;
- if (sum > 1)
- bool = 0;
- }
- if (bool == 1)
- Circle(level + 1, position + 1);
- }
- else
- Circle(level + 1, position + 1);
- }
- }
- }
- }
- int main(void)
- {
- int i, j, k, l, m, n;
- char c;
- int bool;
- init();
- Circle(0, 0);
- }
复制代码
|
雅兰·水语 | 酷 冷
我本昆仑一幽兰 | 冰心玉壶藏
为图红尘修仙缘 | 秋水映雪妆
千年寂寞若等闲 | 渺渺天地间
一朝不慎堕凡间 | 凛凛西风狂
学习记录 |
|