Codevs 1065 01字符串
1065 01字符串
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
传送门
题目描述 Description
输出仅有0和1组成的长度为n的字符串,并且其中不能含有3个连续的相同子串。
输入描述 Input Description
输入文件只有一行一个整数n,表示有0和1组成的字符串的长度。0<=n<=30。
输出描述 Output Description
输出文件只有一行一个整数,表示所有满足条件的字符串的个数。
样例输入 Sample Input
1
样例输出 Sample Output
2
/*
dfs(乱搞).
这题n是<=30的 所以我们想到了乱搞.
dfs条件是"该字符不与前两个字符相同".
然后搞出ans*2
[听说这题数学递推Fibonacci].
*/
#include<iostream>
#include<cstdio>
#define MAXN 31
using namespace std;
int n,s[MAXN],len,tot;
void dfs(int t)
{
if(t==n)
{
tot++;
return ;
}
for(int i=0;i<=1;i++)
{
if(t>=2&&s[t-1]==i&&s[t-2]==i) continue;
s[t]=i,dfs(t+1);
}
}
int main()
{
cin>>n;
if(n) dfs(1);
printf("%d",tot*2);
return 0;
}
Codevs 1065 01字符串的更多相关文章
- 深度优先搜索 codevs 1065 01字符串
codevs 1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 输出仅有0和1组成的长度为n的字符串,并且 ...
- codevs——1065 01字符串
1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 输出仅有0和1组成的长度为n的字符串, ...
- hiho #1326 : 有序01字符串
#1326 : 有序01字符串 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0.那么,你最少需要修改 ...
- hiho 有序01字符串 dp
题目1 : 有序01字符串 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0.那么,你最少需要修改多少 ...
- NPU 2015年陕西省程序设计竞赛网络预赛(正式赛)F题 和谐的比赛(递推 ||卡特兰数(转化成01字符串))
Description 今天西工大举办了一场比赛总共有m+n人,但是有m人比较懒没带电脑,另外的n个人带了电脑.不幸的是,今天机房的电脑全坏了只能用带的电脑,一台电脑最多两人公用,确保n>=m. ...
- P1071 01字符串的交叉安排
题目描述 你有 \(n(1 \le n \le 10^6)\) 个字符'0' 和 \(m(1 \le m \le 10^6)\) 个字符'1'.你需要使用这些字符拼接成一个01字符串,使得满足如下两个 ...
- SYCOJ#1077、01字符串
题目-01字符串 (shiyancang.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 ...
- JS 实现"可读"字符串转换成"二进制的01"字符串
问题起源 看过一个漫画, 两位程序员在办公司交流, 可是说的语言却是010101类似的字符串.周围人很是惊异.计算机的世界,确实是由01组成的.今天突然想实现这个编码转换. 解决思路 学过C语言的都知 ...
- 【codevs1065】01字符串
题目大意:输出仅由 0 和 1 组成的长度为 N 的字符串个数,并且其中不能含有 3 个连续的相同子串. 题解:数据太水,正规解法应该是枚举后缀进行判断. 代码如下 #include <bits ...
随机推荐
- 进程与线程(7) 进程间通信之信号量 (java os)
花3分钟浏览一下: http://blog.csdn.net/liu765023051/article/details/8067601 1.生产者,消费者的列子. 2.互斥和同步到底什么东西? 互斥是 ...
- bzoj 3626 [LNOI2014]LCA(离线处理+树链剖分,线段树)
3626: [LNOI2014]LCA Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1272 Solved: 451[Submit][Status ...
- ubuntu14.04安装ia32-lib
sudo apt-get install libc6:i386 sudo -i cd /etc/apt/sources.list.d echo "deb http://old-release ...
- win8下Oracle 12c 创建新用户并分配表空间
这个应该算还是比较简单吧,找了个博客照着搞,有点不同的地方改改,自己再记录下. 步骤是这样: 1.先用SYSTEM登录SOL Plus, 2.创建一个临时表空间,再创建一个表空间,然后再创建一个用户 ...
- [TopCoder] SRM_594_DIV2.250
好长一段时间没写博客了,实在是想不出有什么好写的.近期也有对自己的职业做了一点思考,还是整理不出个所以然来,很是烦躁 ... 研究TopCoder已经有一小段时间了,都是在做之前的题目,还没有实际参加 ...
- AX2012服务器配置--Windows Server 2012 如何实现多个用户远程桌面登陆?
Windows Server 2012 如何实现多个用户远程桌面登陆?说明:Windows Server 2012默认情况下,只运行2个用户远程桌面登陆,这里我们可以通过安装远程桌面会话主机配置来实现 ...
- java利用commons-email发送邮件并进行封装
本例中利用commons-email发送邮件并进行封装,支持html内容和附件:Commons Email是Apache的Commons子项目下的一个邮件客户端组件,它是基于JavaMail的,大大简 ...
- git push 报错
git push报错误: Git push error: RPC failed; result=56, HTTP code = 200 fatal: The remote end hung up un ...
- FairScheduler的任务调度机制——assignTasks(续)
上一篇文章浅析了FairScheduler的assignTasks()方法,介绍了FairScheduler任务调度的原理.略过了最后一步通过JobScheduler获取Task时调用JobInPro ...
- 基于SAML的单点登录介绍
http://blog.csdn.net/csethcrm/article/details/20694993 一.背景知识: SAML即安全断言标记语言,英文全称是Security Assertion ...