比赛 清明时悲哀杯 评测结果 AAAAAAAAAA
题目名称 终极装备 最终得分 100
用户昵称 Hyoi_iostream 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2017-03-31 20:32:34
显示代码纯文本
#include<cstdio>  
#include<iostream>  
#include<cmath>
#include<algorithm> 
#include<cstring>
using namespace std;  
void swap(int &a,int &b){
	int temp=a;a=b;b=temp;
}
int maxx(int a,int b,int c){return max(max(a,b),c);}  
int M,N,T;  
int v1[210],v2[210],w1[210],w2[210];  
int f[10010]; 
int Main()  
{  
    freopen("besta.in","r",stdin);
    freopen("besta.out","w",stdout);
    scanf("%d%d%d",&M,&N,&T);  
    for(int i=1;i<=N;i++){  
        int a,b,c,d;  
        scanf("%d%d%d%d",&a,&b,&c,&d);  
        if(b>d) {swap(a,c);swap(b,d); }  
        v1[i]=a;v2[i]=c;w1[i]=b;w2[i]=d;  
}  
    memset(f,0,sizeof(f));  
    for(int i=1;i<=N;i++){  
        for(int j=M;j>=w1[i];j--)  
            if(j>=w2[i])  
                f[j]=maxx(f[j],f[j-w1[i]]+v1[i],f[j-w2[i]]+v2[i]);  
            else  
                f[j]=max(f[j],f[j-w1[i]]+v1[i]);  
}  
    printf("%d\n",f[M]+T); 
	fclose(stdin);
	fclose(stdout); 
	return 0;
}  
int work=Main();
int main(){;}