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

    题目链接:https://vjudge.net/problem/POJ-3660

    思路:为了确定排名,那么确定排名的那头牛一定是和所有的其他牛有比较,就是说他和其他n-1头

    牛有联系,就是说,u能到v,或者v能到u,flody可以实现这个,

    之后我们只需统计 i-th牛能和其他几头牛有联系,如果是 n-1 头,说明他的排名能被确定。


     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <queue>
     6 #include <map>
     7 #include <cmath>
     8 #include <iomanip>
     9 using namespace std;
    10  
    11 typedef long long LL;
    12 #define inf (1LL << 25)
    13 #define rep(i,j,k) for(int i = (j); i <= (k); i++)
    14 #define rep__(i,j,k) for(int i = (j); i < (k); i++)
    15 #define per(i,j,k) for(int i = (j); i >= (k); i--)
    16 #define per__(i,j,k) for(int i = (j); i > (k); i--)
    17 
    18 const int N = 110;
    19 int G[N][N];
    20 
    21 int main(){
    22 
    23     ios::sync_with_stdio(false);
    24     cin.tie(0);
    25 
    26     int n,m;
    27     cin >> n >> m;
    28 
    29     int u,v;
    30     rep(i,1,m){
    31         cin >> u >> v;
    32         G[u][v] = true;
    33     }
    34 
    35     rep(k,1,n) rep(i,1,n) rep(j,1,n){
    36         //i -> j 或者    i -> k -> j
    37         G[i][j] = G[i][j] || (G[i][k] && G[k][j]);
    38     }
    39 
    40     int ans = 0;
    41     rep(i,1,n){
    42         
    43         int tot = 0;
    44         rep(j,1,n){
    45             //有联系
    46             if(G[i][j] || G[j][i]) tot++;
    47         }
    48         //与其他n-1头牛有联系
    49         if(tot == n - 1) ans++;
    50     }
    51 
    52     cout << ans << endl;
    53 
    54     getchar(); getchar();
    55     return 0;
    56 }
  • 相关阅读:
    Netty 源码解读(二)-ChannelPipeline、ChannelHandler、ChannelHandlerContext
    Netty源码解读(一)-服务启动和接收请求源码
    浅谈自动化测试框架开发
    程序运行时环境
    常见的Linux内核线程
    一个好用gdb扩展工具
    使用Qemu模拟Numa机器
    使用qemu的nat方式登录
    2021.32 量化
    2021.31 模型
  • 原文地址:https://www.cnblogs.com/SSummerZzz/p/11369060.html
Copyright © 2011-2022 走看看