列表

详情


CMB3. 不想出差的HR

描述

按照卡中心校园招聘的要求,HR小招和小商需要从三个科室中(分别为A、B、C)抽派面试官去往不同城市。
两名HR按照以下规定轮流从任一科室选择面试官:每次至少选择一位,至多选择该科室剩余面试官数。最先选不到面试官的HR需要自己出差。
假设HR小招和小商都不想出差且每次选择都采取最优策略,如果是小招先选,写一个函数来判断她是否需要出差。如果不需要出差,请给出第一步的最优策略。

输入描述

输入为三个正整数,分别代表三个科室的面试官人数,用英文逗号分隔

输出描述

若小招需要出差,则输出:1;
若小招不需要出差,则输出:第一步选择的科室名称和选择人数,用英文逗号分隔

示例1

输入:

1,8,9

输出:

1

示例2

输入:

2,0,4

输出:

C,2

原站题解

C 解法, 执行用时: 2ms, 内存消耗: 368KB, 提交时间: 2020-12-23

#include <stdio.h>
  
int main()
{
    unsigned int A,B,C,x;
    scanf("%d,%d,%d",&A,&B,&C);
    x = A^B^C;
    if(x == 0)
        printf("1\n");
    else
    {
        if((A^B) < C)
            printf("C,%u\n", C-(A^B));
        else if((A^C) < B)
            printf("B,%u\n", B-(A^C));
        else if((B^C) < A)
            printf("A,%u\n", A-(B^C));
    }
}

C 解法, 执行用时: 2ms, 内存消耗: 372KB, 提交时间: 2020-08-19

#include <stdio.h>
  
int main()
{
    unsigned int A,B,C,x;
    scanf("%d,%d,%d",&A,&B,&C);
    x = A^B^C;
    if(x == 0)
        printf("1\n");
    else
    {
        if((A^B) < C)
            printf("C,%u\n", C-(A^B));
        else if((A^C) < B)
            printf("B,%u\n", B-(A^C));
        else if((B^C) < A)
            printf("A,%u\n", A-(B^C));
    }
}

C 解法, 执行用时: 2ms, 内存消耗: 372KB, 提交时间: 2019-05-05

#include <stdio.h>
  
int main()
{
    unsigned int A,B,C,x;
    scanf("%d,%d,%d",&A,&B,&C);
    x = A^B^C;
    if(x == 0)
        printf("1\n");
    else
    {
        if((A^B) < C)
            printf("C,%u\n", C-(A^B));
        else if((A^C) < B)
            printf("B,%u\n", B-(A^C));
        else if((B^C) < A)
            printf("A,%u\n", A-(B^C));
    }
}

C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2020-05-17

#include <stdio.h>
   
int main()
{
    unsigned int A,B,C,x;
    scanf("%d,%d,%d",&A,&B,&C);
    x = A^B^C;
    if(x == 0)
        printf("1\n");
    else
    {
        if((A^B) < C)
            printf("C,%u\n", C-(A^B));
        else if((A^C) < B)
            printf("B,%u\n", B-(A^C));
        else if((B^C) < A)
            printf("A,%u\n", A-(B^C));
    }
}

C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2019-08-14

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d,%d,%d",&a,&b,&c);
    if((a^b^c)==0)
    {
        printf("1");
    }
    else if((a^b)<c)
    {
        printf("C,%d",c-(a^b));
    }
    else if((a^c)<b)
    {
                printf("B,%d",b-(a^c));
    }
    else
    {
             printf("A,%d",a-(b^c));
    }
}

上一题