字符序列(characts)

问题描述:

从三个元素的集合[A,B,C]中选取元素生成一个N 个字符组成的序列,使得没有两个相邻的

子序列(子序列长度=2)相同,例:N=5 时ABCBA 是合格的,而序列ABCBC 与ABABC 是不

合格的,因为其中子序列BC,AB 是相同的。

输入N(1<=N<=12),求出满足条件的N 个字符的所有序列和其总数。

输入样例:

4

输出样例:

72

**

 #include<iostream>

 #include<cstdlib>

 using namespace std;

 int n,a[],s;

 void go(int x)

 {

          if (x>n)

          {

                    s++;

                    return;

                    }  //如果这个长度等于要求的长度,就把可能性加一重新进行下一次搜索

          int i;

          for (i=;i<=;i++)

          if (a[x-]*+a[x-]!=a[x-]*+i)  //判断子序列,如果满足要求则把这个位置放这个值

          {

                    a[x]=i;

                    go(x+);  //进行下一次搜索

                    }

 }

 int main()

 {

          cin>>n;

          if (n<=)

          {

                    if (n==) cout<<;

                    else cout<<;

                    cout<<endl;   

                    exit();

                    }

          s=;

          int i,j,k;

          for (i=;i<=;i++)

            for (j=;j<=;j++)

              for (k=;k<=;k++)

            {

                             a[]=i; a[]=j; a[]=k; //枚举出前三个位置所有的可能性在这个情况下进行下一步搜索

                             go();

                             }

          cout<<s<<endl;

          return ;

 }

前三位位置枚举,后面的值判断满足要求就留在那个位置,满足数量就加一。

一开始的时候我就直接,枚举前四个数的可能性

字符序列(characts)的更多相关文章

  1. string基本字符序列容器(竞赛时常用的使用方法总结)

    C语言只提供了一个char类型用来处理字符,而对于字符串,只能通过字符串数组来处理,而C++STL提供了string基本字符序列容器来处理字符串,可以将其理解为字符串类,它提供了添加,删除,替换.查找 ...

  2. C语言 · 最长公共子序列 · 最长字符序列

    算法提高篇有两个此类题目: 算法提高 最长字符序列   时间限制:1.0s   内存限制:256.0MB      最长字符序列 问题描述 设x(i), y(i), z(i)表示单个字符,则X={x( ...

  3. JAVA基础 XML生成与解析和String包装类下 .replace方法的使用以及char和字符序列的使用场景

    ptLink0.setText(arbu.getPtLink().replace("&","&")); // 如果像 '&','& ...

  4. 【Java字符序列】Pattern

    简介 Pattern,正则表达式的编译表示,操作字符序列的利器. 整个Pattern是一个树形结构(对应于表达式中的‘|’),一般为链表结构,树(链表)的基本元素是Node结点,Node有各种各样的子 ...

  5. 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]

    传送门 题目2 : 回文字符序列 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定字符串,求它的回文子序列个数.回文子序列反转字符顺序后仍然与原序列相同.例如字符串ab ...

  6. Java 之 可变字符序列:字符串缓冲区(StringBuilder 与 StringBuffer)

    一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: public class StringDemo { public ...

  7. 剑指offer43:左旋转字符串(字符串):对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。

    1 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”a ...

  8. Java实现 蓝桥杯VIP 算法提高 最长字符序列

    算法提高 最长字符序列 时间限制:1.0s 内存限制:256.0MB 最长字符序列 问题描述 设x(i), y(i), z(i)表示单个字符,则X={x(1)x(2)--x(m)},Y={y(1)y( ...

  9. 测试可变字符序列stringBuilder

    测试可变字符序列 stringBuilder(线程不安全,效率高,一般用),stringBuffer(线程安全,效率低)stringBuilder,stringBuffer和string的区别前者可变 ...

随机推荐

  1. 【译】第42节---EF6-DbSet.AddRange & DbSet.RemoveRange

    原文:http://www.entityframeworktutorial.net/entityframework6/addrange-removerange.aspx EF 6中的DbSet引入了新 ...

  2. BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK 六个表的关系

    BSEG和BSIS.BSAS.BSID.BSAD.BSIK.BSAK六个表的关系 1.数据关系: BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG 2.六个表说明: clear ...

  3. C语言: 从 CodeBlocks 到 Microsoft Visual Studio 2017

    开学到现在寒假,学习了一个学期的C语言,同时也已然用了大半年的 CodeBlocks 来写 C/C++ 程序.CodeBlocks 是写 C/C++ 语言的程序最轻量的IDE(集成开发环境),在 C ...

  4. List<Model>转String 、String 转List<string>

    var ltCode = from item in psw.VehicleInsuranceItem select item.Code; string code = string.Join(" ...

  5. 【Cucumber】【问题集锦】

    [问题一]invalid byte sequence in GBK"问题 invalid byte sequence in UTF-8"问题 参考地址:http://fantaxy ...

  6. 【Python】【socket】

    [server.py] """#练习1import socketimport threading sock = socket.socket()sock.bind(('12 ...

  7. 完美解决百度网盘、浏览器下载限速问题proxyee-down(附带win破解版云盘)

    win版破解云盘 下载: <PanDownload> 使用文档: <PanDownload使用> Mac方法 限速.限速! 平时下载东西限速倒无所谓,遇到急一点的.盯着80km ...

  8. git项目,VSCode显示不同颜色块的含义

    一. 概念 代码里的左侧颜色标识: 红色,未加入版本控制; (刚clone到本地) 绿色,已经加入版本控制暂未提交; (新增部分) 蓝色,加入版本控制,已提交,有改动: (修改部分) 白色,加入版本控 ...

  9. spring boot Tomcat访问日志

    1.Tomcat设置访问日志 <Host name="localhost" appBase="webapps" unpackWARs="true ...

  10. leecode第十六题(最接近的三数之和)

    class Solution { public: void quick_order(vector<int>& num, int star, int en)//快排 { int st ...