cogs——66. [HAOI2004模拟] 数列问题

Posted song-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cogs——66. [HAOI2004模拟] 数列问题相关的知识,希望对你有一定的参考价值。

66. [HAOI2004模拟] 数列问题

 

本以为会TLE,可。。。

dfs水题(很基础)

 

#include<bits/stdc++.h>

using namespace std;

int x,shu[20],ans;

bool vis[20];

void print() {
    for(int i=1; i<=x; i++) printf("%d ",shu[i]);
    puts("");
    ++ans;
    return;
}

bool tp(int px){
    for(int i=2;i<=sqrt(px);i++)
        if(px%i==0) return false;
    return true;
}

void dfs(int k,int last) {
    if(k==x+1) {
        print();
        return;
    }
    for(int i=1; i<=x; i++) {
        if(last&&!(tp(last+i))) continue;
        if(!vis[i]) {
            vis[i]=1;
            shu[k]=i;
            dfs(k+1,i);
            vis[i]=0;
        }
    }
}

int main() {
    freopen("dfs3.in","r",stdin);freopen("dfs3.out","w",stdout);
    scanf("%d",&x);
    dfs(1,0);
    printf("%d
",ans);
    return 0;
}

 

以上是关于cogs——66. [HAOI2004模拟] 数列问题的主要内容,如果未能解决你的问题,请参考以下文章

COGS——C66. [HAOI2004模拟] 数列问题

COGS 307 模拟退火

cogs 547:[HAOI2011] 防线修建

COGS——T1310. [HAOI2006]聪明的猴子

cogs 1963. [HAOI 2015] 树上操作 树链剖分+线段树

cogs 1310. [HAOI2006]聪明的猴子