zoukankan      html  css  js  c++  java
  • [ZJOI2007] 矩阵游戏

    题意:问一个(0-1)方阵是不是非奇异的

    其实我真的很想求行列式

    #include <bits/stdc++.h>
    using namespace std;
    #define N 505
    int n,m,p,cx[N],cy[N],vis[N];
    std::vector<int> e[N];
    int dfs(int u,int Time) {
    	for(int i=0;i<(int)e[u].size();++i) {
    		int v=e[u][i];
    		if(vis[v]^Time) {
    			vis[v]=Time;
    			if(!cy[v]||dfs(cy[v],Time)) {
    				cx[u]=v; cy[v]=u;
    				return 1;
    			}
    		}
    	}
    	return 0;
    }
    void solve() {
        n=m=p=0;
        memset(cx,0,sizeof cx);
        memset(cy,0,sizeof cy);
        memset(vis,0,sizeof vis);
    	cin>>n;
    	m=n;
    	for(int i=1;i<=n;i++) e[i].clear();
    	for(int i=1;i<=n;i++) {
            for(int j=1;j<=n;j++) {
                int t;
                cin>>t;
                if(t) e[i].push_back(j);
            }
    	}
    	int ans=0;
    	for(int i=1;i<=n;++i) ans+=dfs(i,i);
    	if(ans==n) cout<<"Yes"<<endl;
    	else cout<<"No"<<endl;
    }
    int main() {
        int t;
        cin>>t;
        while(t--) solve();
    }
    
  • 相关阅读:
    JavaScript 数组进行拼接的函数
    Scrum工件
    Scrum角色
    Scrum
    看板kanban
    敏捷估算
    用户故事地图
    用户故事
    用户画像
    AARRR模型
  • 原文地址:https://www.cnblogs.com/mollnn/p/12262519.html
Copyright © 2011-2022 走看看