题解 | #龙神的成绩单#

龙神的成绩单

https://ac.nowcoder.com/acm/contest/26168/A

注意题目影子是后面四轮 护盾是在5个回合后生效
这样就简单了 典中典 考试时没法做出来 回来看时就发现是通过80%

#include<bits/stdc++.h>
using namespace std;
int m,a0,a1,b0,b1;
int sum1,sum2;
int f=1,c1=0,c2=0,c3=0,cnt=0;//f指的是yasuo是否被减速,1为没减速  0为减速
//c1  指的是Q技能用了第几次
//c2 影子存在的回合数
//c3 指的是护盾数值
//cnt  计数走位次数   

int x,y;
void solve(int i,int j){
    //if(cnt )
    if(c2) c2--;
    if(i ==1){
        
        c1++;
        //cout<<c3;
        if(c1%3==0)
        {
            sum2+=3*a0;
            c1=0;
        }
        else sum2+=a0;
        if(j==1){
            if(c2){
                if(c3<b0*2){
                    sum1+=(b0*2-c3);
                    c3=0;
                }
                else c3-=b0*2;
                
            }
            else {
                if(c3<b0){
                    sum1+=(b0-c3);
                    c3=0;
                }
                else c3-=b0;
                
            }
            
            f=1;
        }
        else if(j==2) {
            c2=5;
            
            f=1;
        }
        else{
            if(c3<b1)
            {
            sum1+=(b1-c3);
            c3=0;
            }
            else c3-=b1;
            f=0;
        }
    }
    else {
        cnt++;
        //cout<<cnt;
        if(j==1){
            if(f==0){
                if(c2){
                    
                if(c3<b0*2){
                    sum1+=(b0*2-c3);
                    c3=0;
                            }
                    
                else c3-=(b0*2);
                    
                }
                
                else {
                if(c3<b0){
                    sum1+=(b0-c3);
                    c3=0;
                }
                else c3-=b0;
                }
                
                }
             f=1;
        }
        else if(j==2) {
            c2=5;
            
            f=1;
        }
        else{
        if(c3<b1)
        {
        sum1+=(b1-c3);
        c3=0;
        }
        else c3-=b1;
        f=0;
        }
        

        
     if(cnt==5) {
            c3+=a1;
            cnt=0;
        }
    }
//     if(j ==3 ){
        
//     }
//     else f=1;
    //cout<<sum1 <<" "<<sum2<<"\n";
}
int main(){
    cin >> m;
    cin >> a0>>a1>>b0>>b1;
    while(m--){
    cin >>x >> y;
    solve(x,y);
    }
    if(sum1>sum2)cout<<"siyuheian!\n";
    else if(sum1<sum2) cout<<"mianduijifengba!\n";
    else cout<<"hhh\n";
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务