2021年牛客暑期多校训练营2

2021年牛客暑期多校训练营2

A Arithmetic Progression(待)

题意:

题解:

注意:

代码:

B Cannon(待)

题意:

题解:

注意:

代码:

C Draw Grids

题意:

签到题,轮流进行操作,使得这个图始终不连通

题解:

根据点的奇偶性,进行判断

注意:

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    if((n*m)&1)printf("NO\n");
    else printf("YES\n");
    return 0;
}

D Er Ba Game

题意:

继续签到,根据题目所说的一个个条件模拟即可

题解:

模拟

注意:

条件考虑的全面充分一点,不要漏了特殊情况,比如说两个数都相等

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
    int t;
    scanf("%d", &t);
    int a1, b1, a2, b2;
    while (t--) {
        scanf("%d%d%d%d", &a1, &b1, &a2, &b2);
        if (a1 > b1)swap(a1, b1);
        if (a2 > b2)swap(a2, b2);
        if (a1 == 2 && b1 == 8 && a2 == 2 && b2 == 8) {
            printf("tie\n");
        } else if (a1 == 2 && b1 == 8) {
            printf("first\n");
        } else if (a2 == 2 && b2 == 8) {
            printf("second\n");
        } else if (a1 == a2 && b1 == b2)printf("tie\n");
        else if (a1 == b1 && a2 == b2) {
            if (a1 > a2)printf("first\n");
            else if (a1 < a2)printf("second\n");
            else printf("tie\n");
        } else if (a1 == b1 && a2 != b2) {
            printf("first\n");
        } else if (a2 == b2 && a1 != b1) {
            printf("second\n");
        } else if (a1 != b1 && a2 != b2) {
            if ((a1 + b1) % 10 > (a2 + b2) % 10)printf("first\n");
            else if ((a1 + b1) % 10 < (a2 + b2) % 10)printf("second\n");
            else {
                if (b1 > b2)printf("first\n");
                else if (b2 > b1)printf("second\n");
            }
        }
    }
    return 0;
}

E Gas Station(待)

题意:

题解:

注意:

代码:

F Girlfriend

题意:

给定4个点和2个模式的公式,求这模型形成的空间图形的体积交⛵

题解:

详情参考,通过给定的方程可以发现,在二维中AP=λBP(λ≠1)P点的轨迹是一个圆,那么在三维中P点轨迹则应该是一个球,也就是说是求两个球的体积交。化简公式有

\(\begin{align}&(1−k^2)(x_p^2+y_p^2+z_p^2)+x_p(2k^2x_2−2x_1)+y_p(2k^2y_2−2y_1)+z_p(2k^2z_2−2z_1)+&\\&x_1^2+y_1^2+z_1^2−k^2(x_2^2+y_2^2+z_2^2)=0&\end{align}\)​​​

球的方程:\(x^2+y^2+z^2+2ax+2by+2cz+d=0\)​​​​ 圆心: (-a,-b,-c) 半径: \(\sqrt{ a^2+b^2+c^2−d}\)​

从而可以找到这两个球的球心和半径,根据球心距离与半径的比较,来判断是否相交

上一篇:c++搜索


下一篇:selenium获取ajax json数据