# coding:utf-8 # n->A # m->B #输入n和m,构造一个n+m长度的字符串。正好有n个A,m个B。 # 不能有三个相同的字母连续出现。任意写出来一个组合输出 def construct(m, n, size): if max(m, n) <= min(m, n) * 2 + 2: dif = 0 res = "" if m < n: dif = n - m - 2 if n - m >= 2 else n - m i = 1 while i <= m: if i <= dif: res += "AAB" else: res += "AB" i += 1 res += "AA" if n - m >= 2 else "" return res else: dif = m - n - 2 if m - n >= 2 else m - n i = 1 while i <= n: if i <= dif: res += "BBA" else: res += "BA" i += 1 res += "BB" if m - n >= 2 else "" return res else: return res if __name__ == "__main__": m = 12 n = 5 ans = construct(m, n, 3) print(ans)
有n个A,m个B,不能有三个相同的字母连续出现。任意写出来一个组合输出
最新推荐文章于 2023-03-23 17:15:28 发布