zoukankan      html  css  js  c++  java
  • 「日常训练」All Friends(POJ-2989)

    题意

    分析

    代码

    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #define MP make_pair
    #define PB emplace_back
    #define fi first
    #define se second
    #define ZERO(x) memset((x), 0, sizeof(x))
    #define ALL(x) (x).begin(),(x).end()
    #define rep(i, a, b) for (repType i = (a); i <= (b); ++i)
    #define per(i, a, b) for (repType i = (a); i >= (b); --i)
    #define QUICKIO                  
        ios::sync_with_stdio(false); 
        cin.tie(0);                  
        cout.tie(0);
    using namespace std;
    typedef long long ll;
    typedef int repType;
    
    const int MAXN=130;
    bool mat[MAXN][MAXN];
    int n,m,ans;
    int done[MAXN][MAXN], notyet[MAXN][MAXN], searched[MAXN][MAXN];
    
    void dfs(int n, int dcnt, int ncnt, int scnt)
    {
    	if(!ncnt && !scnt) ans++;
    	if(ans>1000) return;
    	int key=notyet[n][1];
    	rep(j,1,ncnt)
    	{
    		int v=notyet[n][j], tmp_ncnt=0, tmp_scnt=0;
    		if(mat[key][v]) continue;
    		memcpy(done[n+1],done[n],sizeof(int)*(dcnt+1));
    		done[n+1][dcnt+1]=v;
    		rep(i,1,ncnt) if(mat[v][notyet[n][i]])
    			notyet[n+1][++tmp_ncnt]=notyet[n][i];
    		rep(i,1,scnt) if(mat[v][searched[n][i]])
    			searched[n+1][++tmp_scnt]=searched[n][i];
    		dfs(n+1, dcnt+1, tmp_ncnt, tmp_scnt);
    		notyet[n][j]=0;
    		searched[n][++scnt]=v;
    	}
    }
    
    int main()
    {
    	while(cin>>n>>m)
    	{
    		ZERO(mat); ans=0;
    		rep(i,1,m)
    		{
    			int x,y;
    			cin>>x>>y;
    			mat[x][y]=mat[y][x]=true;
    		}
    		rep(i,1,n) notyet[1][i]=i;
    		dfs(1,0,n,0);
    		if(ans>1000) cout<<"Too many maximal sets of friends."<<endl;
    		else cout<<ans<<endl;
    	}
    	return 0;
    }
    
    如非注明,原创内容遵循GFDLv1.3发布;其中的代码遵循GPLv3发布。
  • 相关阅读:
    App调试的几个命令实践【转】
    解决sdk更新时候报错 http://dl-ssl.google.com/android上不去,链接拒绝
    fastjson序列化排序问题
    Java中的四种引用
    equal&==&hashcode
    ThreadPool线程池的关注点
    JVM的本地方法栈
    JVM的堆分配
    JVM的类装载子系统
    JVM的数据类型
  • 原文地址:https://www.cnblogs.com/samhx/p/POJ-2989.html
Copyright © 2011-2022 走看看