班级里面有2∗n位同学,姓名互不相同,将他们两两分组分成了n组。 现在告诉你n组同学的具体分组情况,请回答老师的q个问题。 每个问题给你一个字符串表示同学A的姓名,对于每个问题请你输出和他组队的同学名称。java实现
时间: 2024-06-03 21:08:39 浏览: 40
可以使用HashMap来存储每个同学的姓名和对应的组别,然后根据输入的姓名找到其对应的组别,再根据组别输出该组的另一个同学姓名即可。
示例代码如下:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
String s1 = sc.next();
String s2 = sc.next();
map.put(s1, i);
map.put(s2, i);
}
int q = sc.nextInt();
for (int i = 0; i < q; i++) {
String s = sc.next();
int group = map.get(s);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() == group && !entry.getKey().equals(s)) {
System.out.println(entry.getKey());
break;
}
}
}
sc.close();
}
}
阅读全文