zoukankan      html  css  js  c++  java
  • 360 2015校园招聘 第二题

    #include <iostream>
    #include <string>
    #include <vector>
    #include <set>
    #include <algorithm>
    using namespace std;
    typedef struct node{
        int node1;
        int node2;
    } node;
    bool comp1(node x,node y){
        if(x.node1<y.node1)
            return true;
        else if(x.node1>y.node1)
            return false;
        else{
            if(x.node2<y.node2)
                return true;
            else
                return false;
        }
    }
    bool comp2(node x,node y){
        if(x.node1<y.node1)
            return false;
        else if(x.node1>y.node1)
            return true;
        else{
            if(x.node2<y.node2)
                return false;
            else
                return true;
        }
    }
    int main(){
        while(1){
            int N,M;
            cin>>N;
            cin>>M;
            if(N==0&&M==0)
                break;
            set<int> people;
            vector<node> vct;
            for(int i=0;i<M;++i){
                int p1,p2;
                cin>>p1>>p2;
                node nd;
                if(p1<p2){
                    nd.node1=p1;
                    nd.node2=p2;
                }
                else{
                    nd.node1=p2;
                    nd.node2=p1;
                }
                vct.push_back(nd);
            }
            people.insert(1);
            sort(vct.begin(),vct.end(),comp1);
            for(int i=0;i<M;++i){
                if(people.find(vct[i].node1)!=people.end())
                    people.insert(vct[i].node2);
            }
            for(int i=M-1;i>=0;--i){
                if(people.find(vct[i].node1)!=people.end())
                    people.insert(vct[i].node2);
            }
            for(int i=0;i<M;++i){
                if(people.find(vct[i].node2)!=people.end())
                    people.insert(vct[i].node1);
            }
            for(int i=M-1;i>=0;--i){
                if(people.find(vct[i].node2)!=people.end())
                    people.insert(vct[i].node1);
            }
    
            sort(vct.begin(),vct.end(),comp2);
            for(int i=0;i<M;++i){
                if(people.find(vct[i].node1)!=people.end())
                    people.insert(vct[i].node2);
            }
            for(int i=M-1;i>=0;--i){
                if(people.find(vct[i].node1)!=people.end())
                    people.insert(vct[i].node2);
            }
            for(int i=0;i<M;++i){
                if(people.find(vct[i].node2)!=people.end())
                    people.insert(vct[i].node1);
            }
            for(int i=M-1;i>=0;--i){
                if(people.find(vct[i].node2)!=people.end())
                    people.insert(vct[i].node1);
            }
            cout<<people.size()-1<<endl;
        }
        return 0;
    }
  • 相关阅读:
    总结(yst)
    iOS 中 OC项目使用swift第三方工具(OC、swift 混合)
    iOS Appstore 版本更新
    软件设计模式
    iOS huhuProject积累
    iOS暴力禁用navigationviewcontroller右滑手势和手势的优先级
    ios 真机调试支持包的路径
    ios 沙盒路径
    Undefined symbols for architecture x86_64 "_OBJC_CLASS_$_类名",referenced fromobjc-class in .o
    pako.js GZIP定义解压和压缩的方法
  • 原文地址:https://www.cnblogs.com/whutqueqiaoxian/p/4847142.html
Copyright © 2011-2022 走看看