BIT

阅读: 评论:0

BIT

BIT

买衣服

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 632   Accepted Submission(s) : 51
Font: Times New Roman | Verdana | Georgia
Font Size: ← →

Problem Description

一起去买衣服吧。有n个人,m个商店,每个人喜欢两种颜色,他们一起去买衣服,但是每个商店里只有一种颜色的衣服,当一个人买到他喜欢颜色的衣服时,他会变得高兴。
选择一家商店,这n个人都要去这家商店去买衣服,你的任务是保证变得高兴的人数最多。

Input

有多组测试用例。
第一行输入一个正整数n(1<=n<=10000)--去买衣服的人数,人从1-n编号。
接下来n行每行输入两个正整数a,b,表示第i个人喜欢颜色a和b(1<=a,b<=100000)。
接下来输入一个正整数m(1<=m<=10000)--有m家商店,商店从1-m编号。
接下来输入m个正整数c1,c2,......,cm(1<=cj<=100000),第j家商店衣服的颜色是cj。
保证每个人喜欢的两种颜色不一样。

Output

输出一个正整数,代表应该选择那家商店,使得变得高兴的人数最多。如果有多家这样的商店,那么输出编号最小的那一个。如果不存在这样的商店,则输出0。

Sample Input

2
2 4
2 5
3
4 2 5

Sample Output

2

Author

CWIND


#include<stdio.h>
int main()
{int n = 0, m = 0, i = 0, j = 0;long int a[110000] = { 0 }, b[110000] = { 0 }, c[110000] = { 0 }, num[11000] = { 0 };while (scanf("%d", &n) != EOF){int max = 0, count = 0;memset(num, 0, sizeof(num));memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));memset(c, 0, sizeof(c));for (i = 0;i<n;i++)scanf("%d%d", &a[i], &b[i]);scanf("%d", &m);for (i = 0;i<m;i++)scanf("%d", &c[i]);for (i = 0;i<m;i++){for (j = 0;j<n;j++){if (a[j] == c[i] || b[j] == c[i])num[i]++;}}for (i = 0;i<m;i++){if (num[i]>max){max = num[i];count = i + 1;}}printf("%dn", count);}return 0;
}

本文发布于:2024-01-31 01:51:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663707124474.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:BIT
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23