题目很长,是情形题,没能记下来。大概就是统计视频访问量最大的根视频。
输入是一个整数n表示接下来有n行数据,n行数据每行两个数字分别表示当前视频的标签和用户从这个视频点开的链接视频标签。
输出是视频访问量最大的根视频。
int main(){
int n, p, q;
cin>>n;
map<int, int> m;
map<int, int> res;
for(int i=0; i<n; i++){
cin >> p >> q;
m[q] = p;
}
for(auto it = m.begin(); it!=m.end(); it++){
int found = it->second;
while(m.find(found)!=m.end()){
auto cur = m.find(found);
found = cur->second;
}
res[found]++;
}
int avid, max=0;
for(auto it = res.begin(); it!=res.end(); it++){
if(it->second > max){
avid = it->first;
max = it->second;
}
}
cout << avid << endl;
return 0;
}
描述可能有不清楚的地方,欢迎提问指正。
对你有帮助的记得点个赞噢~