#include <iostream> #include <map> #include <string> #include <vector> using namespace std; using shopping = pair<string,int>; int main() { int N, K; cin >> N >> K; vector<string> name(N); map<string, vector<shopping>> receipt; for (int i = 0; i < N; i++) { cin >> name[i]; } for (int i = 0; i < K; i++) { string a, p; int m; cin >> a >> p >> m; receipt[a].push_back({p, m}); } for (int i = 0; i < N; i++) { cout << name[i] << endl; for (auto pm : receipt[name[i]]) { cout << pm.first << " " << pm.second << endl; } cout << "-----" << endl; } }
package com.company; import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { // write your code here Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); List<String> name = new ArrayList<>(); for (int i = 0; i < N; i++) { name.add(sc.next()); } Map<String, Map<String, Integer>> receipt = new HashMap<>(); for (int i = 0; i < K; i++) { String a = sc.next(); String p = sc.next(); int m = sc.nextInt(); if (receipt.containsKey(a)) { Map<String, Integer> subMap = receipt.get(a); if (subMap.containsKey(p)) { subMap.put(p, subMap.get