题目链接:点击打开题目
求出Derek得分的最大最小值,然后比较即可。
代码如下:
#include<queue>
#include<cmath>
#include<stack>
#include<cstdio>
#include<vector>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
#define CLR(a,b) memset(a,b,sizeof(a))
#define PI acos(-1.0)
int main()
{
int T;
int same,dif;
int n;
string a,b;
int ga,gb;
scanf ("%d",&T);
while (T--)
{
scanf ("%d %d %d",&n,&ga,&gb);
cin >> a;
cin >> b;
same = dif = 0;
for (int i = 0 ; i < a.size() ; i++)
{
if (a[i] == b[i])
same++;
else
dif++;
}
int maxx;
if (gb >= same)
maxx = n - (gb-same);
else
maxx = gb + dif;
if (gb > dif)
{
if (ga >= gb-dif && ga <= maxx)
puts("Not lying");
else
puts("Lying");
}
else
{
if (ga >= 0 && ga <= maxx)
puts("Not lying");
else
puts("Lying");
}
}
return 0;
}