zoukankan      html  css  js  c++  java
  • HDU 5963 朋友(树+博弈)

    #include<vector>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxn 40010
    using namespace std;
    int indeg[maxn];
    vector<int> g[maxn];
    int main()
    {
        int T,n,m;
        int u,v,w;
        scanf("%d",&T);
        while(T--){
            scanf("%d%d",&n,&m);
            memset(g,0,sizeof(g));
            memset(indeg,0,sizeof(indeg));
            for(int i=1;i<=n-1;i++){
                scanf("%d%d%d",&u,&v,&w);
                if(w==1){
                    indeg[u]++;
                    indeg[v]++;
                    g[u].push_back(v);
                    g[v].push_back(u);  
                }
            }
            while(m--){
                int op;
                scanf("%d",&op);
                if(op==0){
                    int t;
                    scanf("%d",&t);
                    if(indeg[t]%2) printf("Girls win!
    ");
                    else printf("Boys win!
    "); 
                }
                else{
                    int x,y,z;
                    scanf("%d%d%d",&x,&y,&z);
                    vector<int> ::iterator p1=find(g[x].begin(),g[x].end(),y);
                    vector<int> ::iterator p2=find(g[y].begin(),g[y].end(),x);
                    if(p1!=g[x].end()&&p2!=g[y].end()&&z==0){
                        indeg[x]--;//注意:要控制迭代器不能超过整个容器
                        indeg[y]--;//erase()函数返回值是一个迭代器,指向删除元素下一个元素
                        g[x].erase(p1);
                        g[y].erase(p2);
                    } 
                    if(p1==g[x].end()&&p2==g[y].end()&&z==1){
                        indeg[x]++;//如果g[x]中没找到y,g[y]没找到x 
                        indeg[y]++;
                        g[x].push_back(y);
                        g[y].push_back(x);
                    }
                }
            }
        }
    } 
  • 相关阅读:
    Linux socket本地进程间通信之TCP
    Linux socket本地进程间通信之UDP
    Linux I/O多路转接之select函数
    静态库和动态库的分析
    点云数据 网络
    maskrcnn-benchmark训练注意事项
    redhat7安装maskrcnn-benchmark注意事项
    特征选择
    docker
    可视化
  • 原文地址:https://www.cnblogs.com/freinds/p/6410597.html
Copyright © 2011-2022 走看看