字符序列(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. Unicode转字符串

    /// <summary> /// Unicode转字符串 /// </summary> /// <returns>The to string.</retur ...

  2. 网页title左边显示网页的logo图标

    打开某一个网页会在浏览器的标签栏处显示该网页的标题和图标,当网页被添加到收藏夹或者书签中时也会出现网页的图标,怎么在网页title左边显示网页的logo图标呢? 方法1: 找一个或者作一个ico文件, ...

  3. java 之2D过气游戏类的写法

    2D游戏中各对象的父类 package cn.littlepage.game; import java.awt.Graphics; import java.awt.Image; import java ...

  4. ORACLE SYNONYM详解

    以下内容整理自Oracle 官方文档 一 概念 A synonym is an alias for any table, view,materialized view, sequence, proce ...

  5. 关于VUE调用父实例($parent) 根实例 中的数据和方法

    this.$parent或者 this.$root 在子组件中判断this.$parent获取的实例是不是父组件的实例 在子组件中console.log(this.$parent)  在父组件中con ...

  6. Java String常用的两个方法

  7. 学习笔记26— roc曲线(python)

    一.概念: 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure 机器学习(ML), 自然语言处理(NLP), 信息检索(IR)等领域, 评估(E ...

  8. Windows下使用创建多层文件夹 SHCreateDirectoryEx 函数需要注意的问题

    1.在使用SHCreateDirectoryEx函数创建多层文件夹的过程中,发现在文件夹路径中,只能使用\\而不能使用/,否则将创建文件夹失败. 2.下面为在MFC中使用的代码片段 CString n ...

  9. FireFox(火狐)浏览器的相关问题

    如何加快FireFox(火狐)浏览器浏览网页速度 大部分网页加载缓慢的原因:1.宽带连接.网速不稳定2.浏览器本身问题,如果多开窗口浏览会占大量内存,而且磁盘空间没有做过优化,就这样电脑资源不够用,也 ...

  10. spring cloud: zuul(二): zuul的serviceId/service-id配置(微网关)

    spring cloud: zuul(二): zuul的serviceId/service-id配置(微网关) zuul: routes: #路由配置表示 myroute1: #路由名一 path: ...