六层循环暴力直接就过了,幂均不等式易得,各位大佬,有什么更好的做法吗
#include<bits/stdc++.h>
using namespace std;
int a1,a2,a3,a4,a5,a6,ans;
bool vis[1001];
int main(){
scanf("%d %d %d %d %d %d",&a1,&a2,&a3,&a4,&a5,&a6);
for(int b1=0;b1<=a1;b1++){
for(int b2=0;b2<=a2;b2++){
for(int b3=0;b3<=a3;b3++){
for(int b4=0;b4<=a4;b4++){
for(int b5=0;b5<=a5;b5++){
for(int b6=0;b6<=a6;b6++){
vis[b1+b2*2+b3*3+b4*5+b5*10+b6*20]=1;
}
}
}
}
}
}
for(int i=1;i<=1000;i++) if(vis[i]) ans++;
printf("Total=%d",ans);
return 0;
}