标签:
思路:水题
#include<bits\stdc++.h> using namespace std; const int maxn = 2*1e6; struct Node { int b,c; }nodes[maxn]; map<int,int>a; int main() { int n,m; int temp; scanf("%d",&n); for (int i =1;i<=n;i++) scanf("%d",&temp),a[temp]++; scanf("%d",&m); for (int i = 1;i<=m;i++) scanf("%d",&nodes[i].b); for (int i = 1;i<=m;i++) scanf("%d",&nodes[i].c); int ans = 0; int markf=0,marks=0; for (int i = 1;i<=m;i++) { if(markf < a[nodes[i].b]) { markf = a[nodes[i].b]; marks = a[nodes[i].c]; ans = i; } else if (markf==a[nodes[i].b] && marks<a[nodes[i].c]) { markf = a[nodes[i].b]; marks = a[nodes[i].c]; ans = i; } } if (ans) printf("%d\n",ans); else puts("1"); }
标签:
原文地址:http://blog.csdn.net/qq_21057881/article/details/51348508