竞赛讨论区 > i题 想问一下这样为什么不能全过
头像
玛卡巴卡9
发布于 2021-12-06 23:43
+ 关注

i题 想问一下这样为什么不能全过

#include<iostream>
using namespace std;
int q,p,n;
int sf(int arr[60000][6]){
	int kill=0,death=0;
	for(int i=0;i<5;i++){
	kill+=arr[i][0];
	death+=arr[i][1];
	}
	if(kill>=death)
	return 1;
	else
	return 0;
}
int MVP(int arr[60000][6]){
    double cc,temp,dui=0;
	if(arr[0][1]==0){
        cc=1e9;
    }
    else{
        cc=(arr[0][0]+arr[0][2])*1.0/arr[0][1];
    }
    
    for(int i=1;i<5;i++){
        if(arr[i][1]==0){
            temp=1e9;
        }
        else{
            temp=(arr[i][0]+arr[i][2])*1.0/arr[i][1];
        }
        if(temp>dui){
            dui=temp;
        }
    }
    
    if(cc>=temp){return 1;}
    else {return 0;}
}
int main(){
	int score=0;
	cin>>n>>p>>q;
	while(n--){
        int arr[60000][6]={};
		for(int i=0;i<5;i++){
			for(int j=0;j<3;j++){
				cin>>arr[i][j];
			}
		}
		int flag=sf(arr);
		int M=MVP(arr);
		if(flag==1&&M==1){
			score+=2*p;
		}
		else if(flag==1&&M==0){
			score+=p;
		}
		else if(flag==0&&M==0){
			score-=q;
            if(score<0){score=0;}
		}
		else if(flag==0&&M==1)
		{
			continue;
		}
        
        if(score>=100){break;}
	} 
	
	if(score>=100){cout<<"YES";}
    else{cout<<"NO";}
}

全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐