题目传送门
这道题是求最多能刷几道题。
本道题用贪心的思想,优先作用时少的题目。
在作业及格的基础上,尽可能地多刷题。
先处理作业,每道作业完成 / 没完成 ,用状态压缩
1. 时间够
2.分数够
这道题的·思路就是这样的,这是AC代码:
#include<bits/stdc++.h>
using namespace std;
const int N=20;
int t[N],t2[N],s[N];
int main()
{
int sum=0;
//输入
int n,m,k,r;
cin>>n>>m>>k>>r;
for(int i=0;i<n;++i)
{
cin>>t[i];
}
for(int i=0;i<m;++i)
{
cin>>t2[i];
}
for(int i=0;i<m;++i)
{
cin>>s[i];
}
//排序 t
sort(t,t+n);
//1.完成作业
int u=1<<m;
int mins=2e9;
for(int i=0;i<u;++i)
{
int st=0;//总时间
int sum=0;//总分
for(int j=m-1;j>=0;--j)
{
if((i>