3535 数组分割
3535 数组分割
⭐️难度:困难
🌟考点:2023、省赛、动态规划
📖
📚
import java.util.*;
public class Main {
static int MOD = 1000000007;
static int N = 1005;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int i = 1; i <= t; i++) {
int dou = 0;
int sig = 0;
int ans = 0;
int n = sc.nextInt();
for (int j = 1; j <= n; j++) {
int x = sc.nextInt();
if(x % 2 == 0){
dou ++;
}else{
sig ++;
}
}
if(sig % 2 == 0){
sig = (sig == 0 ? 0 : (sig - 1));
ans = (int)(Math.pow(2,dou) * Math.pow(2,sig) % MOD);
}else{ // 奇数个 奇数 不可能有符合题意的答案
ans = 0;
}
System.out.println(ans);
}
}
}
ans = (int)(Math.pow(2,dou) * Math.pow(2,sig) % MOD);这个取模式子只能这样写,不知道为什么,先放着。
🍎笔记