Anti-prime Sequences
| Time Limit: 3000MS | Memory Limit: 30000K | |
| Total Submissions: 3355 | Accepted: 1531 |
Description
We can extend the definition by defining a degree danti-prime
sequence as one where all consecutive subsequences of length 2,3,...,d
sum to a composite number. The sequence above is a degree 2 anti-prime
sequence, but not a degree 3, since the subsequence 5, 4, 2 sums to 11.
The lexicographically .rst degree 3 anti-prime sequence for these
numbers is 1,3,5,4,6,2,10,8,7,9.
Input
will consist of multiple input sets. Each set will consist of three
integers, n, m, and d on a single line. The values of n, m and d will
satisfy 1 <= n < m <= 1000, and 2 <= d <= 10. The line 0 0
0 will indicate end of input and should not be processed.
Output
each input set, output a single line consisting of a comma-separated
list of integers forming a degree danti-prime sequence (do not insert
any spaces and do not split the output over multiple lines). In the case
where more than one anti-prime sequence exists, print the
lexicographically first one (i.e., output the one with the lowest first
value; in case of a tie, the lowest second value, etc.). In the case
where no anti-prime sequence exists, output
No anti-prime sequence exists.
Sample Input
1 10 2
1 10 3
1 10 5
40 60 7
0 0 0
Sample Output
1,3,5,4,2,6,9,7,8,10
1,3,5,4,6,2,10,8,7,9
No anti-prime sequence exists.
40,41,43,42,44,46,45,47,48,50,55,53,52,60,56,49,51,59,58,57,54
题意:在【2,d】长度的连续序列的和都要为合数。
思路:DFS。
1 #include<stdio.h>
2 #include<algorithm>
3 #include<iostream>
4 #include<stdlib.h>
5 #include<string.h>
6 #include<queue>
7 #include<stack>
8 #include<math.h>
9 using namespace std;
10 typedef long long LL;
11 bool prime[20000]= {0};
12 int tt[10000];
13 bool cm[1005];
14 int ts=0;
15 bool check(int n,int m);
16 int dfs(int n,int m,int d,int kk,int pp);
17 int main(void)
18 {
19 int i,j,k;
20 for(i=2; i<=1000; i++)
21 {
22 if(!prime[i])
23 {
24 for(j=i; (i*j)<=20000; j++)
25 {
26 prime[i*j]=true;
27 }
28 }
29 }
30 int n,m;
31 while(scanf("%d %d %d",&n,&m,&k),n!=0&&m!=0&&k!=0)
32 {
33 memset(cm,0,sizeof(cm));
34 ts=0;
35 int uu=dfs(0,m-n+1,k,n,m);
36 if(uu)
37 {
38 printf("%d",tt[0]);
39 for(i=1; i<(m-n+1); i++)
40 {
41 printf(",%d",tt[i]);
42 }
43 printf("\n");
44 }
45 else printf("No anti-prime sequence exists.\n");
46 }
47 }
48 bool check(int n,int m)
49 {
50 int i,j;
51
52
53 LL sum=tt[m];
54 for(i=m-1; i>=max(n,0); i--)
55 {
56 sum+=tt[i];
57 if(!prime[sum])
58 return false;
59 }
60 return true;
61 }
62 int dfs(int n,int m,int d,int kk,int pp)
63 {
64 int i;
65 if(ts)return 1;
66 if(n==m)
67 {
68
69 bool cc=check(n-d,m-1);
70 if(!cc)
71 {
72 return 0;
73 }
74 ts=1;
75 return 1;
76 }
77 else
78 {
79 bool cc=check(n-d,n-1);
80 if(cc)
81 {
82 for(i=kk; i<=pp; i++)
83 {
84 if(ts)return 1;
85 if(!cm[i])
86 {
87 tt[n]=i;
88 cm[i]=true;
89 int uu=dfs(n+1,m,d,kk,pp);
90 cm[i]=false;
91 if(uu)return 1;
92 }
93 }
94 }
95 else return 0;
96 }
97 return 0;
98 }
Anti-prime Sequences的更多相关文章
- Who Gets the Most Candies?(线段树 + 反素数 )
Who Gets the Most Candies? Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%I64d &am ...
- (Problem 49)Prime permutations
The arithmetic sequence, 1487, 4817, 8147, in which each of the terms increases by 3330, is unusual ...
- DFS(8)——poj2034Anti-prime Sequences
一.题目回顾 题目链接:Anti-prime Sequences Sample Input 1 10 2 1 10 3 1 10 5 40 60 7 0 0 0 Sample Output 1,3 ...
- 河南省第十届省赛 Binary to Prime
题目描述: To facilitate the analysis of a DNA sequence, a DNA sequence is represented by a binary num ...
- Farey sequences
n阶的法里数列是0和1之间最简分数的数列,由小至大排列,每个分数的分母不大于n. Stern-Brocot树(SB Tree)可以生成这个序列 {0/1,1/1} {0/1,1/2,1/1} {0/1 ...
- Java 素数 prime numbers-LeetCode 204
Description: Count the number of prime numbers less than a non-negative number, n click to show more ...
- Prime Generator
Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate ...
- ABP Zero示例项目登录报错“Empty or invalid anti forgery header token.”问题解决
ABP Zero项目,登录时出现如图"Empty or invalid anti forgery header token."错误提示的解决方法: 在 WebModule.cs的P ...
- POJ 2739. Sum of Consecutive Prime Numbers
Sum of Consecutive Prime Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20050 ...
随机推荐
- vue-baidu-map相关随笔
一,使用vue-baidu-map 1.下载相关包依赖 npm i vue-baidu-map 2.在main.js中import引入相关包依赖,在main.js中添加如下代码: import B ...
- Spark基础:(一)初识Spark
1.Spark中的Python和Scala的Shell (1): Python的Spark Shell 也就是我们常说的PySpark Shell进入我们的Spark目录中然后输入 bin/pyspa ...
- celery开启worker报错django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE o
其实挺简单的问题,但花了自己一个下午来解决,先是浏览各种博客,无果:没办法,然后去看celery官方文档,无果,近乎绝望,最后仔细看代码,找到问题所在(如下),自学狗这效率...... 下面是自己ta ...
- Vue相关,Vue JSX
JSX简介 JSX是一种Javascript的语法扩展,JSX = Javascript + XML,即在Javascript里面写XML,因为JSX的这个特性,所以他即具备了Javascript的灵 ...
- MySQL索引背后的数据结构及算法原理 【转】
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...
- 最长公共子序列问题(LCS) 洛谷 P1439
题目:P1439 [模板]最长公共子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 关于LCS问题,可以通过离散化转换为LIS问题,于是就可以使用STL二分的方法O(nlogn ...
- SQL Server 和 Oracle 以及 MySQL 数据库
推荐:https://www.zhihu.com/question/19866767 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Or ...
- 用户信息查询系统_daoImpl
package com.hopetesting.dao.impl;import com.hopetesting.dao.UserDao;import com.hopetesting.domain.Us ...
- 新一代Java程序员必学的Docker容器化技术基础篇
Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...
- linux下编译php扩展
1 在pecl.php.net搜索你需要的php扩展 2 在解压后的扩展目录运行phpize 3 执行编译./configure --with-php-config=/usr/local/php/bi ...