ps:一开始90分,原因:20个人买4张,最后一个人买5张。没有考虑。也就是这段话没有考虑。
ac代码:
#include#include #include using namespace std; vector v[21]; int num; int main(){ cin>>num; for(int i=0;i >l; int be=-1; int s=0; for(int j=1;j<=20;j++){ s=5-v[j].size(); if(s>=l){ be=j; break; } } if(be==-1){ int f=1; if(l>0){ for(int j=1;j<=20;j++){ int length=v[j].size(); s=5-length; if(s!=0){ for(int m=length+1;m<=5;m++){ if(f){ f=0; printf("%d",m+(5)*(j-1)); } else printf(" %d",m+(5)*(j-1)); } } l-=s; if(l<=0) break; } } } else{ for(int i=6-s;i<6-s+l;i++){ v[be].push_back(1); if(i!=6-s) printf(" "); printf("%d",i+(5)*(be-1)); } } printf("n"); } return 0; }



