CodeForces 501C Misha and Forest(异或和)

给出一个森林,每个点的度和相邻点异或和,求所有边


开始没注意到是森林,摸不到头脑,后来发现从叶子节点开始BFS,这样每次都能出来一条边,遍历完就可以了。


#include"iostream"
#include"cmath"
#include"queue"
#include"vector"
using namespace std;
int d[70000],s[70000];
queue q;
using namespace std;
int main()
{
    int n;
    int sum=0;
    while(!q.empty()) q.pop();
    cin>>n;
    for(int i=0;i>d[i]>>s[i];
        if(d[i]==1) q.push(i);
        sum+=d[i];
    }
    cout<


你可能感兴趣的:(解题报告)