贝茜的报复


题目

链接:1875. 贝茜的报复 - AcWing题库

农夫约翰和奶牛贝茜喜欢在业余时间互相出数学题。

约翰给贝茜出了一道相当难的问题,导致她没能解决。

现在,她希望通过给约翰出一道有挑战性的难题来报复他。

贝茜给了约翰一个表达式 (B+E+S+S+I+E)(G+O+E+S)(M+O+O),其中包含七个变量 B,E,S,I,G,O,MO是变量,不是零)。

对于每个变量,她给约翰一个列表,表中包含该变量可采用的最多 20 个整数值。

她要求约翰计算,共有多少种给变量赋值的方法可以使得表达式的计算结果为偶数。

代码

import java.util.*;


public class Main {
    static int N = 100010;
    static int n;
    static Map<String, Integer>[] m = new Map[2];
    static String q = "BESIGOM";
    static int cnt = -1, ans = 0;
    static int[] num = new int[10];
    public static void bfs()
    {
        if(cnt == 6)
        {
            if((num[0] + num[3]) * (num[4] + num[5] + num[1] + num[2]) * num[6] % 2 == 0)
            {
                int M = m[num[6]].getOrDefault("M", 0);
                int O = m[num[5]].getOrDefault("O", 0);
                int G = m[num[4]].getOrDefault("G", 0);
                int I = m[num[3]].getOrDefault("I", 0);
                int S = m[num[2]].getOrDefault("S", 0);
                int E = m[num[1]].getOrDefault("E", 0);
                int B = m[num[0]].getOrDefault("B", 0);
                int sum = M * O * G * I * S * E * B;
                ans += sum;
            }
//            for(int i = 0; i < 7; i ++)
//                System.out.print(num[i]);
//            System.out.println();
            return;
        }
        cnt ++;
        for(int i = 0; i <= 1; i ++)
        {
            num[cnt] = i;
            bfs();
        }
        cnt --;
        return;
    }
    public static void main(String[] args) {
        Scanner inScanner = new Scanner(System.in);
        n = inScanner.nextInt();
        m[0] = new TreeMap<String, Integer>();
        m[1] = new TreeMap<String, Integer>();
        for(int i = 1; i <= n; i ++)
        {
            String s = inScanner.next();
            int v = inScanner.nextInt();
            int t = Math.abs(v) % 2;
            m[t].put(s, m[t].getOrDefault(s, 0) + 1);
        }
        inScanner.close();
        bfs();
        System.out.print(ans);
    }
}

文章作者: 姜小白
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜小白 !
评论
  目录