题解 CF1270A 【Card Game】
分析一下题目,就是大牌吃小牌。所以我们思考一下,有什么简单的思考方法?毕竟这题是红题
有了!如果你有一张牌够大,对方永远也吃不掉,你就必胜。因此只需考虑最大的一张牌在谁手上。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,flg,n,l,r,sr;
cin>>t;
for(int i=1;i<=t;i++)
{
flg=1;//flg=1就是第一个人赢,否则第二个人赢。初始是第一个人赢,后续会重新判断。这样只需判断第二个人是否有最大牌。
cin>>n>>l>>r;
for(int i=1;i<=l;i++) cin>>sr;//输入第一个人的牌。
for(int i=1;i<=r;i++)
{
cin>>sr;//输入第二个人的牌。
if(sr==n) flg=0;//判断最大牌在哪里,如果发现第二个人有最大牌,那么就是他赢了,看前面的分析。
}
if(flg==0) cout<<"NO\n";//输出。
else cout<<"YES\n";//输出。
}
return 0;//完美结束。
}