您的位置:首页 > 其它

3-3 字母排列

2016-05-12 20:34 176 查看
题目描述:输出由A、B、C三个字母组成长度为N的没有连续3个相同的子串。

#include <cstdio>

void R(int k, int l1, int l2);

int T[50];

int N;

int main() {
scanf("%d", &N);
R(0, 0, 0);
return 0;
}

void R(int k, int l1, int l2) {
if(k == N) {
for(int a=0; a<N; a++) {
printf("%c", 64+T[a]);//char和int的存储方式是一样的,可以依据ASCII码互相转换。
}
printf("\n");
} else {
for(int a=1; a<=3; a++) {
if(a!=l1 || a!=l2) {
T[k] = a;
R(k+1, a, l1);
}
}
}
return;
}


p.s.:更多ASCII信息传送门
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: