我觉着和8皇后问题一类吧 取第一个单词并标记这个单词为已取; { 取单词,就是顺序向后找未标记的单词; if (符合条件) { 标记这个单词为已取并标记; if (结果序列长度=单词个数) { 则输出结果; } continue; } else if (还有可以取的) continue; else { 去掉最后一个取的单词和它的标记; 若结果序列为空并且下一个单词没有了则完成break; continue; } }