素数环: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 ...
随机推荐
- laravel学习之路2: jwt集成
"tymon/jwt-auth": "^1.0@dev", 执行 composer update 'providers' => [ .... Tymon\ ...
- Lumen开发:phpunit单元测试
先来直接运行,cmd先进入根目录,然后进入tests或是test文件夹 运行命令行:..\vendor\bin\phpunit ExampleTest.php laravel/lumen中集成了PHP ...
- iOS main函数讲解
int main(int argc, char * argv[]) { @autoreleasepool { //四个参数 主要讲解后面两个参数 /* 第三个参数:UIApplication或者其子类 ...
- 【python】-- 队列(Queue)、生产者消费者模型
队列(Queue) 在多个线程之间安全的交换数据信息,队列在多线程编程中特别有用 队列的好处: 提高双方的效率,你只需要把数据放到队列中,中间去干别的事情. 完成了程序的解耦性,两者关系依赖性没有不大 ...
- Linux安装Nginx使用反向代理
nginx的反向代理功能(自带了反向代理的功能,天生的二道贩子)1.实验环境准备准备2个服务器,都安装好nginx软件nginx1 192.168.13.79 作为web服务器 (理解为火车票售票点) ...
- Linux c编程:同步属性
就像线程具有属性一样,线程的同步对象(如互斥量.读写锁.条件变量.自旋锁和屏障)也有属性 1.互斥量属性 用pthread_mutexattr_init初始化pthread_mutexattr_t结构 ...
- Java实现微信网页授权
开发前的准备: 1.需要有一个公众号(我这里用的测试号),拿到AppID和AppSecret: 2.进入公众号开发者中心页配置授权回调域名.具体位置:接口权限-网页服务-网页账号-网页授权获取用户基本 ...
- Python partial function 偏函数
Partial function 偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为partial()函数后续的参数,除非使用关键字参数. 当函数的参数个数太多, ...
- JS实现下拉列表的二级联动
这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单,不刷新的联动,动态的联动需要检索数据库,这个对不需要更新的二级联动比较实用.这里 ...
- selenium主要功能封装
最近实习需要使用selenium这一自动化工具对公司的运维监控系统进行自动化爬取数据,编写代码过程中负责带我的杰哥让我参考借鉴他们公司外包的运维监控系统代码,在项目中我看到了对selenium主要各功 ...