枚举。
枚举每个分段有多少个科目,对每个枚举的状态判断是否满足条件,对满足条件的取其中最大和最小值。
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 7 const double eps=1e-8; 8 9 int main (){10 int t;11 int a,n;12 //cin>>t;13 scanf ("%d",&t);14 while (t--){15 //cin>>a>>n;16 scanf ("%d%d",&a,&n);17 int sum=a*n;18 double maxn,minn;19 int mas=n*4,mis=n*8;20 for (int i=0;i<=n;i++){21 for (int j=0;j<=n;j++){22 for (int k=0;k<=n;k++){23 for (int o=0;o<=n;o++){24 if (n>=i+j+k+o&&i*100+j*84+k*79+o*74+(n-i-j-k-o)*69>=sum&&i*85+j*80+k*75+o*70+(n-i-j-k-o)*60<=sum){25 int temp=i*8+j*7+k*6+o*5+(n-i-j-k-o)*4;26 mas=temp>mas?temp:mas;27 mis=temp