bool cmp (stu a,stu b) { if(a.sum==b.sum) { if(a.c==b.c) { return a.num>b.num; } else return a.c>b.c; } else return a.sum >b.sum; }
bool cmp(stu a,stu b) { if(a.sum>b.sum) return 1;//总分大于b就返回1 else if(a.sum<b.sum) return 0;//否则返回0 else//相等 { if(a.c>b.c) return 1;//比较语文 else if(a.c<b.c) return 0; else//语文也相等 { if(a.num>b.num) return 0;//比较编号 else return 1; } } }
扫描二维码关注公众号,回复:
9407145 查看本文章
for(int g=1;g<=groumax;g++) { for(int v=V;v>=0;v--) { for(int i=1;i<=a[g][0];i++) { if(v>=v1[a[g][i]]) //不要写进for里,会导致嵌套调用(坑了好久) { int tmp=a[g][i]; f[v]=max(f[v],f[v-v1[tmp]]+c[tmp]); } } } }