zoukankan      html  css  js  c++  java
  • POJ 3660Cow Contest

    题意:大概就是给你两个数,代表A能够打败B,也就是说你建图时,有一条A到B权值为1的边,而现在要求能确定的位置,意思就是在一个某一个位置要么有从源点到其他点的边或者从其他点到源点的边,统计这样的点有多少个即可,题目数据只有100个点,直接floyd,一般而言,floyd的范围在1000以内;
    #include<iostream>
    #include<queue>
    #include<stack>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    #include<cstring>
    #include<cstdio>
    #define INF 0x3f3f3f3f
    using namespace std;
    int dis[105][105];
    int main(){
    	int n,m;
    	cin>>n>>m;
    	memset(dis,INF,sizeof(dis));
    	for(int i=1;i<=n;i++){
    		dis[i][i]=0;
    	}
    	int a,b;
    	for(int i=1;i<=m;i++){
    		cin>>a>>b;
    		dis[a][b]=1;
    	}
    	for(int k=1;k<=n;k++){
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=n;j++){
    				dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
    			}
    		}
    	}
    	int sum=0;
    	for(int i=1;i<=n;i++){
    		int flag=0;
    		for(int j=1;j<=n;j++){
    			if(j!=i){
    				if(dis[i][j]==INF){
    					if(dis[j][i]==INF){
    						flag=1;
    						break;
    					}
    				}
    			}
    		}
    		if(flag==0){
    			sum++;
    		}
    	}
    	cout<<sum<<endl;
    	return 0;
    } 

  • 相关阅读:
    MyBatis-Plus使用(4)-集成SpringBoot
    MyBatis-Plus使用(3)-条件构造器
    Logback日志格式优化,解决输出***@2b193f2d问题
    MyBatis-Plus使用(2)-CRUD接口
    数组
    switch结构
    if的使用
    new函数
    指针
    常量和iota
  • 原文地址:https://www.cnblogs.com/wang9897/p/7624393.html
Copyright © 2011-2022 走看看