PAT A1039

题目:
https://pintia.cn/problem-sets/994805342720868352/problems/994805447855292416
这题一开始很直白的做的,没怎么考虑效率问题,最后一个case内存超了(course那样定义不超了才怪)

#include
#include
#include
#include
using namespace std;
const int N=40005,K=2505; 
struct course
{
    int index;
    int len;
    char stu[N][5]; 
};
struct student
{
    char name[5];
    vector subject;    
};
int main()
{
    int a,b;
    while(cin>>a>>b)
    {
        vector c(b); 
        vector s(a);
        for(int i=0;i>c[i].index>>c[i].len;
            for(int j=0;j

用Hash做就好了
AC代码

#include
#include
#include
#include
using namespace std;
vector >student(26*26*26*10+1);
int encode(char temp[5])
{
    return (temp[0]-'A')*10+(temp[1]-'A')*26*10+(temp[2]-'A')*26*26*10+temp[3]-'0';
}
int main()
{
    int a,b,c,d,num;
    char temp[5];
    scanf("%d%d",&a,&b);
        for(int i=0;i

你可能感兴趣的:(PAT A1039)