题目

解法
#include<bits/stdc++.h>
using namespace std;
struct points{
int u;
int v;
}arr[102];
int main(){
int n;
cin>>n;
for(int i=0;i<n-1;i++){
cin>>arr[i].u>>arr[i].v;
}
if(arr[0].u==arr[1].u||arr[0].u==arr[1].v){
cout<<arr[0].u<<endl;
}
else if(arr[0].v==arr[1].u||arr[0].v==arr[1].v){
cout<<arr[0].v<<endl;
}
return 0;
}
这个题目是要求我们从n个数中找到一个中心点,中心点是与另外n-1个点都有联系的点,而有趣的是,输入语句第一行是n,也就是元素的个数,后面会跟和n-1行,每一行代表两个数之间建立的联系,看似非常复杂的题目就在这一刻开始变得异常简单,本以为菊花的形状是这样:

但其实却是这样:

这样一看,思路就跃然纸上了,虽然还是要照例输入这n-1行语句,但是实际判断中心点,只需要判断前两行就可以了,因为这n-1行每一行都会出现中心点和另一个一般点,所以只要在前两行里面找到重复出现的那个点就好了。(这里是帮一个爱哭鬼讲的,写这么详细真是累死我了)。
反思
考察知识点:对题目理解
踩的坑:对题目理解不详以及字母抄错。
优化:无
2255

被折叠的 条评论
为什么被折叠?



