您的位置:首页 > 其它

【HDU】6045 - Is Derek lying?(思维)

2017-07-28 12:25 453 查看
题目链接:点击打开题目



求出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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  思维