我认识你 eoj

    科技2022-07-10  100

    没怎么用过bitset,第一次见到用法,写一下熟悉熟悉。 无论何时,学习的脚步也不能停下呀,不论结果如何。 Just try my best.

    题目链接:https://acm.ecnu.edu.cn/problem/3337/

    关同步:ios::sync_with_stdio(false) (有时候会加cin.tie(0)) bitset <>后面这个应该是位数。表示的二进制位为n位, 默认的构造函数将其初始为全0 g[N]表示有N个人了。 ans用来存两个bitset与后的结果。 ans.count()可以直接得出bitset中为1的个数

    #include<bits/stdc++.h> using namespace std; const int N = 4e4+10; int n,m,q,s,t; bitset<N> g[N],ans; int main() { ios::sync_with_stdio(false); int n,m; cin>>n>>m; int u,v; for(int i=0;i<m;i++) { cin>>u>>v; g[u][v] = g[v][u] = 1; } int q; cin>>q; //query while(q--) { cin>>u>>v; ans = bitset<N>(g[u]&g[v]); cout<<ans.count()<<endl; } return 0; }
    Processed: 0.013, SQL: 8