poj 2558 Genetic Code 深搜+打表

原创 2015年11月17日 17:15:22

题意:

求一个长度为n的串n<=5000,它没有相邻且相同的子串。

分析:

一开始各种构造,后来发现可以深搜,输出结果的时候打表就可以了,原来O(3^5000)的程序也不是一定会超时的。。只要剪枝吊,照样可以搞。。

代码:

//poj 2558
//sep9
#include <iostream>
using namespace std;
const int maxN=5000;
int n,ok,a[maxN+10];

bool check(int cur)
{
	for(int len=1;len<=(cur+1)/2;++len){
		int p=cur-2*len+1;
		int q=cur-len+1;
		while(a[p]==a[q]&&q<=cur)
			++p,++q;
		if(q>cur)
			return false;	
	}
	return true;		
}

void dfs(int cur)
{
	if(cur>maxN){
		ok=1;
		return ;
	}
	for(int i=0;i<3&&!ok;++i){
		a[cur]=i;
		if(check(cur))
			dfs(cur+1);
	}	
}

int main()
{
	ok=0;
	dfs(0);
	while(scanf("%d",&n)==1&&n){
		for(int i=0;i<n;++i)
			if(a[i]==0) putchar('N');
			else if(a[i]==1) putchar('O');
			else putchar('P');		
		puts("");
	}
	return 0;	
} 


POJ1256 && 1979 深搜入门

简单题,经典题:POJ1526 UVA5712 #include #include #define M 105 char pic[M][M]; int m,n,idx[M][M]; void D...
  • Since_natural_ran
  • Since_natural_ran
  • 2016年08月05日 17:20
  • 387

ACM--Genetic Code(POJ 2558)

#include char a[5002]; char b[4]="NOP"; int Ok(int l) { int i,j; for(i=0;i
  • qq328691560
  • qq328691560
  • 2015年08月12日 23:00
  • 348

POJ 1321 棋盘问题(深搜 \ 回溯)

棋盘问题 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Description ...
  • xia842655187
  • xia842655187
  • 2016年04月21日 14:31
  • 359

(poj 2588 )Genetic Code

Special Judge Problem Description The connections between mathematics and biology are complicated....
  • feng_zhiyu
  • feng_zhiyu
  • 2017年07月21日 15:31
  • 96

POJ1016 素数环DFS+打表

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016
  • u010008539
  • u010008539
  • 2014年07月26日 21:46
  • 388

POJ 1562深搜判断连体油田个数

http://poj.org/problem?id=1562 大意:输入mp二维矩阵,规定‘@’连体的包括对角线为一片油田,统计共有多少油田。深搜方向数组dir设置8个方向遇到@继续搜索把当前位置赋...
  • major_zhang
  • major_zhang
  • 2016年11月11日 01:33
  • 736

深搜2 poj 2448

poj  2448 A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Su...
  • zuihoudebingwen
  • zuihoudebingwen
  • 2012年09月18日 10:43
  • 1202

poj3090 欧拉函数打表

既然是打表,一看就是有套路的,所以按套路来就
  • I_am_going
  • I_am_going
  • 2014年07月28日 00:41
  • 954

POJ1252 完全背包 dp 搜索 dfs bfs

今天见到一道不错的水题,但是卡了我两次,是道完全背包,也可以用搜索,因为刚刚开始练习背包,可谓入门,感觉这是道不错的题,就用dp小试一下。 连接:http://poj.org/problem?id=...
  • liuqiyao_01
  • liuqiyao_01
  • 2013年01月20日 15:03
  • 3834

poj 1190 生日蛋糕(深搜+剪枝技巧)

poj 1190 生日蛋糕(深搜+剪枝技巧)
  • PKU_ZZY
  • PKU_ZZY
  • 2016年05月25日 19:53
  • 2215
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 2558 Genetic Code 深搜+打表
举报原因:
原因补充:

(最多只允许输入30个字)