1 条题解
-
0
自动搬运
来自洛谷,原作者为

NTG_Adiord
**搬运于
2025-08-24 21:43:22,当前版本为作者最后更新于2018-08-15 09:42:14,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
鬼畜做法
反正跟顺序根本没多大关系。。。。。直接1抑或和就好
代码如下
#include <cstdio> int main(){ int n,a;bool b; scanf("%d",&n);n--; while(n--)scanf("%d%d%d",&a,&a,&a),b^=a; printf("%d",b); }太鬼畜了真是
麻烦的做法
链式前向星,记录一下引擎之前是否有动力轮,如果没有那说明这个轮子是第一个轮子
然后遍历算抑或和就完了
详情请咨询10086详情参考代码
#include <bits/stdc++.h> using namespace std; int n; int l; int to[1001]; int hea[1001]; int nex[1001]; int wea[1001]; int in[1001]; int ans; void dr(){ scanf("%d",&n); for(int i=1;i<n;i++){ int a,b,w; scanf("%d%d%d",&a,&b,&w); in[b]++;//记录是否被连接 to[++l]=b;nex[l]=hea[a];hea[a]=l,wea[l]=w;//连边,懒得写建边函数了 } } void wk(){ for(int i=1;i<=n;i++){ if(in[i]==0){ for(int j=i;j;j=to[hea[j]]){ ans=ans^wea[hea[j]];//两次相反为0,直接算抑或,1^1=0 } } printf("%d",ans); return;//直接返回 } } int main(){ dr();//读入 wk();//输出 return 0; }
- 1
信息
- ID
- 1978
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者