POJ 2034 Anti-prime Sequences
来源:互联网 发布:网络优化基本薪资 编辑:程序博客网 时间:2024/05/17 06:17
题意:输入m, n, d。
求出m,m+1,m+2。。。m+n的一个排列。使得任意的连续k个数之和都为合数,2<=k<=d。
思路:素数打表,然后深搜。。
//196K782MS#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#define N 1005#define MAX N*10#define BUG puts("Hi") ;bool prim[MAX] ;bool flag[N] ;int ans[N] ;int m , n , d ;voidFind_Prim ( ) //筛选素数{ for ( int i = 1 ; i < MAX ; i ++ ) { prim[i] = true ; } prim[1] = false ; for ( int i = 2 ; i < MAX / 2 ; i ++ ) { if ( prim[i] ) { for ( int j = i + i ; j < MAX ; j += i ) { prim[j] = false ; } } }}bool Judge ( int const index , int const val ) //判断是否满足任意连续d个数为合数{ if ( 0 == index ) { return true ; } int left ; left = index - d + 1 ; if ( left < 0 ) { left = 0 ; } int sum ; sum = val ; for ( int i = index - 1 ; i >= left ; i -- ) { sum += ans[i] ; if ( prim[sum] ) { return false ; } } return true ;}bool DFS ( int const index ){ if ( index == m - n + 1 ) { return true ; } for ( int i = n ; i <= m ; i ++ ) { if ( !flag[i] ) //未标记 { flag[i] = true ; ans[index] = i ; if ( Judge ( index , i ) && DFS ( index + 1 ) ) { return true ; } flag[i] = false ; //回溯 } } return false ;}intmain ( ){ Find_Prim ( ) ; while ( EOF != scanf ("%d%d%d" , & n , & m , & d ) ) { if ( 0 == n && 0 == m && 0 == d ) { break ; } for ( int i = n ; i <= m ; i ++ ) { flag[i] = false ; } if ( DFS ( 0 ) ) { int i ; for ( i = 0 ; i < m-n ; i ++ ) { printf ("%d," , ans[i] ) ; } printf ("%d\n" , ans[i] ) ; } else { printf ("No anti-prime sequence exists.\n") ; } } return 0 ;}
- POJ 2034 Anti-prime Sequences
- poj 2034 Anti-prime Sequences
- POJ 2034 Anti-prime Sequences
- POJ-2034-Anti-prime Sequences
- POJ 2034 Anti-prime Sequences
- poj 2034 Anti-prime Sequences
- POJ-2034 Anti-prime Sequences
- poj 2034 Anti-prime Sequences
- SOJ - 1002 POJ - 2034 Anti-prime Sequences
- poj 2034 Anti-prime Sequences(dfs)
- poj 2034 Anti-prime Sequences(dfs)
- poj 2034 Anti-prime Sequences(dfs)
- [水+dfs] poj 2034 Anti-prime Sequences
- <DFS> POJ 2034 Anti-prime Sequences
- POJ 2034 Anti-prime Sequences DFS+质数
- pku 2034 Anti-prime Sequences
- 递归和回溯 POJ 2034 Anti-prime Sequences
- POJ 2034 Anti-prime Sequences(素数预处理+DFS回溯)
- 一道渡口模拟题
- memcpy() -- 拷贝内存内容
- Ret2Libc学习NtSetInformationProcess DEP
- 科学研究七步法
- POJ 1050 To the Max
- POJ 2034 Anti-prime Sequences
- 关于ASP.net页面连接sql server出错
- 习题2-4 倒三角形
- 关系数据库调优
- tr 使用
- HOG特征中的三线插值法
- 11g的alert日志路径
- 手把手教你安装windows下的git服务器(copssh+msysgit)并且聚合vs
- UIPopoverController的使用