A题:
女王棋子将棋盘划分为四个象限,判断两个棋子的坐标是否在同一象限即可
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<list>
#include<map>
#include<set>
#include<vector>
typedef long long int ll;
const int maxn =100000+10;
const int mod =998244353;
const int INF=0x3f3f3f3f;
using namespace std;
int main()
{
int n;scanf("%d",&n);
int a,b;scanf("%d%d",&a,&b);
int c,d;scanf("%d%d",&c,&d);
int e,v;scanf("%d%d",&e,&v);
if(c<a&&d<b)
{
if(e<a&&v<b) cout<<"yes";
else cout<<"no";
}
if(c<a&&d>b)
{
if(e<a&&v>b)cout<<"yes";
else cout<<"no";
}
if(c>a&&d<b)
{
if(e>a&&v<b)cout<<"yes";
else cout<<"no";
}
if(c>a&&d>b)
{
if(e>a&&v>b)cout<<"yes";
else cout<<"no";
}
return 0;
}
B题:
a-b=1,a+b是质数
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<list>
#include<map>
#include<set>
#include<vector>
typedef long long int ll;
const int maxn =100000+10;
const int mod =998244353;
const int INF=0x3f3f3f3f;
using namespace std;
int solve(ll a)
{
int flag=1;
for(ll i=2;i<=sqrt(a);i++)
if(a%i==0) {flag=0;break;}
return flag;
}
int main()
{
int t;scanf("%d",&t);
while(t--)
{
ll a,b;cin>>a>>b;
if(a-b==1)
{
if(solve(a+b)==1) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
else cout<<"no"<<endl;
}
return 0;
}
C题:
DP。 待补
本文介绍了Lyft Level 5 Challenge 2018资格赛的解题思路。针对A题,通过判断棋子坐标确定它们是否位于同一象限;对于B题,解析了当a-b=1且a+b为质数时的条件;在C题中,使用动态规划(DP)方法求解,具体策略待补充。
441

被折叠的 条评论
为什么被折叠?



