Guest User

Untitled

a guest
Jul 20th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. // #include <iostream>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <fstream>
  6. #include <set>
  7. // #include <string>
  8.  
  9. #define _HASH(x) int(\
  10. (x[0] - 'A') * 26 * 26 * 10 + \
  11. (x[1] - 'A') * 26 * 10 + \
  12. (x[2] - 'A') * 10 + \
  13. (x[3] - '0')\
  14. )
  15.  
  16. int main(int argc, char* argv[]) {
  17. // std::ios::sync_with_stdio(false);
  18. // std::cin.tie(0);
  19.  
  20. #ifndef ONLINE_JUDGE
  21. // std::ifstream in("in.txt");
  22. // std::cin.rdbuf(in.rdbuf());
  23. freopen("in.txt", "r", stdin);
  24. #endif
  25.  
  26. std::vector<std::set<int>> Data(26 * 26 * 26 * 10);
  27. int nStu, nCour;
  28. // std::cin >> nStu >> nCour;
  29. scanf("%d%d", &nStu, &nCour);
  30.  
  31. int CourInd, tmpStu;
  32. char stuName[5];
  33. for(int i=0; i!=nCour; ++i) {
  34. // std::cin >> CourInd >> tmpStu;
  35. scanf("%d%d", &CourInd, &tmpStu);
  36. for (int j=0; j!=tmpStu; ++j) {
  37. // std::cin >> stuName;
  38. scanf("%s", stuName);
  39. // if (0 == Data[_HASH(stuName)].size()) {
  40. // Data[_HASH(stuName)].reserve(5);
  41. // }
  42. Data[_HASH(stuName)].insert(CourInd);
  43. }
  44. }
  45.  
  46. for (int i=0; i!=nStu; ++i) {
  47. // std::cin >> stuName;
  48. // std::cout << stuName << ' ';
  49. // std::cout << Data[_HASH(stuName)].size();
  50. scanf("%s", stuName);
  51. printf("%s %zu", stuName, Data[_HASH(stuName)].size());
  52. // std::sort(Data[_HASH(stuName)].begin(), Data[_HASH(stuName)].end());
  53. for (auto &i : Data[_HASH(stuName)]) {
  54. // std::cout << ' ' << i;
  55. printf(" %d", i);
  56. }
  57. // std::cout << std::endl;
  58. puts("");
  59. }
  60. return 0;
  61. }
Add Comment
Please, Sign In to add comment