2 条题解

  • 0
    @ 2023-5-27 17:02:57
    • 本题只与防御值和栏位有关系,按照题目用队列模拟即可,当栏位不够时看一下队首元素是不是 冰霜球,如果不是直接出队,是防御+6即可。比上一场的容易多了hh 最后附上代码
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int N=2e5+10;
    int main() {
    	std::ios::sync_with_stdio(false);
    	cin.tie(0);
    	cout.tie(0);
    	int t;
    	cin>>t;
    	int jz=1,lw=3;
    	int fy=0;
    	queue<int> q;
    	int count=0;
    	while(t--) {
    		int op;
    		string x;
    		cin>>op>>x;
    		if(op==0) {
    			if(x=="KR") {
    				lw+=2;
    			} else if(x=="LJTN") {
    				count++;
    				lw--;
    				q.push(1);
    				if(lw==-1) {
    					if(q.front()==1) {
    						count--;
    						fy+=6;
    					}
    					q.pop();
    					lw++;
    				}
    			} else if(x=="QXSD") {
    				q.push(2);
    				lw--;
    				if(lw==-1) {
    					if(q.front()==1) {
    						count--;
    						fy+=6;
    					}
    					q.pop();
    					lw++;
    				}
    			} else if(x=="QH") {
    				q.push(3);
    				lw--;
    				if(lw==-1) {
    					if(q.front()==1) {
    						count--;
    						fy+=6;
    					}
    					q.pop();
    					lw++;
    				}
    			} else if(x=="JN") {
    				q.push(4);
    				lw--;
    				if(lw==-1) {
    					if(q.front()==1) {
    						count--;
    						fy+=6;
    					}
    					q.pop();
    					lw++;
    				}
    			} else if(x=="SCSF"&&!q.empty()) {
    				if(q.front()==1) {
    					count--;
    					fy+=12;
    				}
    				lw++;
    				q.pop();
    			}
    		} else {
    			if(x=="SH") {
    				int sh;
    				cin>>sh;
    				if(fy+count*3>=sh) {
    					cout<<"YES"<<endl;
    				} else {
    					cout<<"NO"<<endl;
    				}
    				fy=0;
    			}
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2022-10-30 16:09:05

      题面纯诈骗,提取关键信息就行了,你会发现你只需要用一个队列,来存球,维护队列的尺寸就行了,有用的球只有冰霜球,当生成球时,队列已经满了,就将队头的球释放,增加6点防御值,双重释放时要判断队列里面是否有球,双重释放时,队头若为冰霜球,增加12点防御值,当要受到伤害的时候计算总共有多少个冰霜球,防御值即为,之前累加的防御值,加上冰霜球的个数*3,与敌方造成的伤害进行比较就行了。

      • 1

      信息

      ID
      824
      时间
      1000ms
      内存
      256MiB
      难度
      9
      标签
      递交数
      119
      已通过
      12
      上传者