欢乐PC杯 Round 2 官方代码

· · 个人记录

T1

T2

#include<iostream>
#include<set>
#include<map>
#define int long long
using namespace std;
map<int,set<int>> mp;
int n,p,x,y,p1,p2;
signed main(){
    cin>>n;
    for(int i=1;i<=n;++i){
        cin>>x>>y;
        mp[x].insert(y);
        mp[y].insert(x);
    }
    cin>>p;
    while(p--){
        cin>>p1>>p2;
        if(mp[p1].count(p2)) cout<<"yes"<<endl;
        else cout<<"no"<<endl;
    }
    return 0;
}

T3

#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
const int maxn=1e3+10;
int n,m,cnt;
vector<int> G[maxn];
bool vis[maxn];
void dfs(int u){
    vis[u]=true;
    for(auto v:G[u]){
        if(vis[v]) continue;
        dfs(v);
    }
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;++i){
        int u,v;
        cin>>u>>v;
        G[u].push_back(v);
        G[v].push_back(u);
    }
    for(int i=2;i<=n-1;++i){
        memset(vis,false,sizeof(vis));
        vis[i]=true;
        dfs(1);
        if(!vis[n]) cnt++;
    }
    cout<<cnt;
    return 0;
}

T4