zoukankan      html  css  js  c++  java
  • ZOJ1008 Gnome Tetravex

    DFS+剪枝~

    #include<bits/stdc++.h>
    using namespace std;
    int a[30][4];
    int N;
    int cnt;
    int c[30];
    int p[30];
    unordered_map<long long,int> pos;
    bool dfs (int v) {
        if (v==N*N) return true;
        for (int i=0;i<cnt;i++) {
            if (c[i]==0) continue;
            if (v%N!=0&&a[p[v-1]][1]!=a[i][3]) continue;
            if (v/N!=0&&a[p[v-N]][2]!=a[i][0]) continue;
            p[v]=i;
            c[i]--;
            if (dfs(v+1)) return true;
            else c[i]++;
        }
        return false;
    }
    int main () {
        int T=0;
        while (scanf("%d",&N)&&N) {
            pos.clear();
            cnt=0;
            int u,d,l,r,k;
            for (int i=0;i<N*N;i++) {
                scanf("%d %d %d %d",&u,&r,&d,&l);
                for (k=0;k<cnt;k++) {
                    if(u==a[k][0]&&r==a[k][1]&&d==a[k][2]&&l==a[k][3]) break;
                }
                if (k==cnt) {
                    cnt++;
                    a[k][0]=u;
                    a[k][1]=r;
                    a[k][2]=d;
                    a[k][3]=l;
                    c[k]=1;
                }
                else c[k]++;
            }
            if (T!=0) printf("
    ");
            T++;
            if (dfs(0)) printf ("Game %d: Possible
    ",T);
            else printf ("Game %d: Impossible
    ",T);
        }
        return 0;
    }
  • 相关阅读:
    bp算法原理
    bp算法
    Python之简单的神经网络
    人工智能教程
    clickhouse的windowFunnel(漏斗)
    Hihocoder 1079 离散化
    Hihocoder 1063 缩地
    md5
    搜索引擎 中文分词
    Hihocoder 1059 String Matching Content Length
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/12311242.html
Copyright © 2011-2022 走看看