素数环:NYOJ--488--dfs||hdu-1016-Prime Ring Problem
/*
Name: NYOJ--488--素数环
Author: shen_渊
Date: 15/04/17 15:30
Description: DFS,素数打个表,37以内就够用了
*/ #include<cstring>
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
void dfs(int);
int n;
//int prime[25] = {2,3,5,7,11,13,17,19,23,29,31,37};学到下面一招
bool prime[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
int arr[];
int vis[];
int main()
{
// freopen("in.txt","r",stdin);
int m = ;
while(cin>>n,n){
memset(arr,,sizeof(arr));
memset(vis,,sizeof(vis));
arr[] = ;
cout<<"Case "<<++m<<":\n";
if(n == )cout<<"1\n";
else if(n%){
cout<<"No Answer\n";
}else{
dfs();
}
}
return ;
}
void dfs(int ct){
if(ct == n+ && prime[arr[n]+arr[]]){
for(int i=; i<=n; ++i)
cout<<arr[i]<<" ";
cout<<endl;
}else{
for(int i=; i<=n; ++i){
if(!vis[i] && prime[arr[ct-]+i]){
arr[ct] = i;
vis[i] = ;
dfs(ct+);
vis[i] = ;
}
}
}
}
因为用ios::sync_with_stdio(false);取消了C的stream和C++的stream的同步,所以输出出现了不符合预期的结果,以后还是少用cin,cout,scanf,printf,C和C++混合输出的方式
/*
Name:hdu-1016-Prime Ring Problem
Copyright:
Author:
Date: 2018/5/19 16:59:52
Description:水题
*/
#include <cstring>
#include <iostream>
#include <cstdio>
using namespace std;
int n, arr[], vis[];
int prime[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};//素数打表,因为n最大是20,所以只要打到40
bool jundge(int n) {
for (int i=; i*i<=n; i++) {
if (n%i == ) return ;
}
return ;
}
void dfs(int ct) {
if (ct == n) {
if (prime[arr[ct] + ]) {
cout<<arr[];
for (int i=; i<=n; i++) {
cout<<" "<<arr[i];
}
cout<<endl;
}
} else {
for (int i=; i<=n; i++) {
if (vis[i] == && prime[i+arr[ct]]) {
arr[ct+] = i;
vis[i] = ;
dfs(ct+);
vis[i] = ;
}
}
}
}
int main()
{
// ios::sync_with_stdio(false);
// 加上这一句,用printf输出WA,cout输出AC,测试后发现,用文件读取输入输出的时候,
// printf并不能输出 Case 1:这一行的输出
int k = ;
while (cin>>n) {
// printf("Case %d:\n", ++k);
cout<<"Case "<<++k<<":\n";
if (n == ) {
cout<<"1\n\n";
continue;
}
if (n & ) {
cout<<endl;
continue;
}
memset(arr, , sizeof(arr));
memset(vis, , sizeof(vis));
arr[] = ;
dfs();
cout<<endl;
}
return ;
}
素数环:NYOJ--488--dfs||hdu-1016-Prime Ring Problem的更多相关文章
- HDOJ(HDU).1016 Prime Ring Problem (DFS)
HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- [HDU 1016]--Prime Ring Problem(回溯)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- HDU 1016 Prime Ring Problem(素数环问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- HDU - 1016 Prime Ring Problem 经典素数环
Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 1016 Prime Ring Problem (DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- Hdu 1016 Prime Ring Problem (素数环经典dfs)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(dfs)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 1016 Prime Ring Problem (回溯法)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
随机推荐
- cobbler pxe-menu
对应的文件在 /var/lib/tftpboot/pxelinux.cfg下 如果profile的pxe-menu设置为1的话,就可以默认显示在menu上了.可以手动选择要下发哪一个profile. ...
- Muduo网络库源代码分析(四)EventLoopThread和EventLoopThreadPool的封装
muduo的并发模型为one loop per thread+ threadpool.为了方便使用,muduo封装了EventLoop和Thread为EventLoopThread,为了方便使用线程池 ...
- jquery 通过属性选择器获取input不为disabled的对象
$("input[id^='input_001']:not(:disabled)").each(function(){ console.log(this); });
- asp.net mvc 反射应用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 经过两个多月的攻关,终于搞定了live555多线程并稳定压测通过
live555已经发展了十几年了,不得不钦佩作者坚持不懈的奉献和国外的开源生态环境,live555可以说是大部分的安防从业者的入门之选,尤其是在嵌入式或者Linux系统上,其应用还是蛮广泛的,主要是其 ...
- 【译】Stackoverflow:Java Servlet 工作原理问答
导读 本文来自stackoverflow的问答,讨论了Java Servlet的工作机制,如何进行实例化.共享变量和多线程处理. 问题:Servlet 是如何工作的?Servlet 如何实例化.共享变 ...
- Django开发模式会加载两次settings文件导致RotatingFileHandlerError
当使用RotatingFileHandler作为django的日志处理器的时候,会报: Traceback (most recent call last): File "C:\Python2 ...
- Cordova 教程 学习步骤-从零基础开始
Cordova的技术交流新群
- JVM性能优化, Part 5 Java的伸缩性
很多程序员在解决JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题.我说过JVM的自身技术限制了Java企业级应用的伸缩性 ...
- 阿里云修改centos7主机名
为了玩Docker,买个阿里云主机也是够拼的了. [root@iZ284olvkmjZ ~]# 不过主机名中怎么好DT,无奈,修改. 我们需要的是永久生效,阿里云提供了两种方法: 方法(1). 输入h ...