日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【超时原因】1047 Student List for Course (25 分)

發布時間:2024/2/28 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【超时原因】1047 Student List for Course (25 分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

立志用最少的代碼做最高效的表達


PAT甲級最優題解——>傳送門


Zhejiang University has 40,000 students and provides 2,500 courses. Now given the registered course list of each student, you are supposed to output the student name lists of all the courses.

Input Specification:
Each input file contains one test case. For each case, the first line contains 2 numbers: N (≤40,000), the total number of students, and K (≤2,500), the total number of courses. Then N lines follow, each contains a student’s name (3 capital English letters plus a one-digit number), a positive number C (≤20) which is the number of courses that this student has registered, and then followed by C course numbers. For the sake of simplicity, the courses are numbered from 1 to K.

Output Specification:
For each test case, print the student name lists of all the courses in increasing order of the course numbers. For each course, first print in one line the course number and the number of registered students, separated by a space. Then output the students’ names in alphabetical order. Each name occupies a line.

Sample Input:
10 5
ZOE1 2 4 5
ANN0 3 5 2 1
BOB5 5 3 4 2 1 5
JOE4 1 2
JAY9 4 1 2 5 4
FRA8 3 4 2 5
DON2 2 4 5
AMY7 1 5
KAT3 3 5 4 2
LOR6 4 2 4 1 5

Sample Output:
1 4
ANN0
BOB5
JAY9
LOR6
2 7
ANN0
BOB5
FRA8
JAY9
JOE4
KAT3
LOR6
3 1
BOB5
4 7
BOB5
DON2
FRA8
JAY9
KAT3
LOR6
ZOE1
5 9
AMY7
ANN0
BOB5
DON2
FRA8
JAY9
KAT3
LOR6
ZOE1


題意:第一行輸入學生人數、學院個數。 接下來輸入學生名, 輸入其加入的學院個數, 以及學院編號。 最后按學院編號輸出每個學院的學生(學生升序排序)

算法設計:采用STL嵌套即可。 但如果直接以名字為參數存放在數組里會導致超時(存儲字符串很耗時),因此可以考慮將字符串散列化、為每個字符串設計一個獨特的int型編碼,存儲編碼即可。


儲備知識擴展(很重要,提高效率,降低碼量):

  • set——有序去重集合。

  • map——有序去重映射

  • multiset——有序不去重集合

  • multimap——有序不去重映射

  • unordered_set——無序不去重集合(普通集合)

  • unordered_map——無序不去重映射(普通映射)


#include<bits/stdc++.h> using namespace std;int incode(string s) {int x = 0, i;for(i = 0; i < s.size()-1; i++) x = x*26 + s[i]-'A';x = x*26 + s[i]-'0';return x; }int main() {ios::sync_with_stdio(false);int n, num_cour; cin >> n >> num_cour;map<int, vector<int> >m; //key是學院號,value是名字的散列化 unordered_map<int, string>um; //字符串與其散列化的映射 for(int i = 0; i < n; i++) {string s; int num; cin >> s >> num;int in = incode(s); um[in] = s;for(int i = 0; i < num; i++) {int x; cin >> x;m[x].push_back(in);}} for(int i = 1; i <= num_cour; i++) {cout << i << ' ' << m[i].size() << '\n';sort(m[i].begin(), m[i].end());for(auto j : m[i]) cout << um[j] << '\n';}return 0; }

耗時:


求贊哦~ (?ω?)

總結

以上是生活随笔為你收集整理的【超时原因】1047 Student List for Course (25 分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: yy6080午夜 | 激情网久久 | 在线亚洲观看 | 青青草在线免费观看 | 中文字幕在线观看视频一区二区 | 欧美破处大片 | 亚洲欧洲成人在线 | 国产乱码77777777 | 亚洲天堂免费在线观看视频 | 91一级片| 中文字幕高清在线观看 | h在线网站 | 麻豆传媒在线观看 | av免费大全 | xxx.国产| 亚洲精品水蜜桃 | 亚洲色成人www永久在线观看 | 少妇毛片一区二区三区粉嫩av | 老妇高潮潮喷到猛进猛出 | 国产精品白嫩白嫩大学美女 | 亚洲男女啪啪 | 五月婷婷色综合 | 第一色网站 | 一本一道久久综合 | av大全在线播放 | 国产成人免费在线 | 亚洲蜜桃av | 亚洲av永久无码精品一区二区国产 | 日韩一页 | 男男一级淫片免费播放 | 青娱乐在线视频免费观看 | 精品一区二区免费 | 99久久婷婷国产精品综合 | 桃色成人网 | 天天综合久久综合 | 99爱免费视频| 国产美女被遭强高潮免费网站 | 久久国产精品二区 | 国产小视频91 | 欧美另类极品videosbest使用方法 | 午夜激情网 | 丝袜美腿亚洲一区二区图片 | 国产精品123 | 欧美一区二区激情视频 | 久草成人 | 久久一级免费视频 | 日色网站 | 亚洲97视频 | 黄色高清视频 | 凹凸视频一区二区 | 亚欧三级| 国产日韩欧美在线观看视频 | 国产特黄一级片 | 亚洲精品动漫在线观看 | 小嫩女直喷白浆 | 精品一区二区国产 | 日韩美女中文字幕 | 欧美色图综合网 | 深夜福利免费观看 | 黄色片免费播放 | 综合色99 | 九色视频网 | 久久精选 | 制服丝袜先锋影音 | 色91在线| 久久国产视频精品 | 99国产一区 | 久久一级大片 | 中文字幕精品一二三四五六七八 | 久久好色 | 原创真实夫妻啪啪av | 成人短视频在线免费观看 | 国产情侣露脸自拍 | 少妇高潮一区二区三区在线 | 岛国av电影在线观看 | 精品久久久中文字幕人妻 | 国产精品自拍片 | 桃谷绘里香在线观看 | 亚洲怡红院av | 成人你懂的 | 男女午夜网站 | 樱桃成人精品视频在线播放 | 人人艹人人| 久久老司机 | 免费网站黄色 | 国产美女三级无套内谢 | 2018国产大陆天天弄 | 色呦呦免费 | 精品久久久久久无码中文野结衣 | 亚洲精品a区 | 中文字幕福利视频 | 少妇高潮惨叫久久久久 | 农村少妇久久久久久久 | 香蕉视频久久久 | 亚洲美女视频 | 五月中文字幕 | 精品人妻一区二区三区久久 | av网站在线看 | 亚洲经典在线观看 |