1 条题解
-
0
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.StringTokenizer; public class q6 { static int[] hurt={5,4,3,2,1}; static int count=0; static int n; public static void main(String[] args) { FastReader sc=new FastReader(); int t=sc.nextInt(); while (t-->0){ n=sc.nextInt(); int[] Hp =new int[n+1]; for(int i=1;i<=n;i++){ Hp[i]=sc.nextInt(); } backFind(0,Hp); System.out.println(count); count=0; } } public static void backFind(int curHurtIndex,int[] curHP){ boolean b=true; for(int i=1;i<=n;i++){ if(curHP[i]>0){ b=false; break; } } if(b){ count++; return; } if(curHurtIndex>=5){ return; } int hurtNum=hurt[curHurtIndex]; for(int i=1;i<=n;i++){ if(curHP[i]>0){ int[] newHp=curHP.clone(); newHp[i]-=hurtNum; backFind(curHurtIndex+1,newHp); } } } static class FastReader{ StringTokenizer st; BufferedReader bf; public FastReader(){ bf=new BufferedReader(new InputStreamReader(System.in)); } String next(){ while(st==null||!st.hasMoreElements()){ try { st=new StringTokenizer(bf.readLine()); } catch(IOException e){ e.printStackTrace(); } } return st.nextToken(); } int nextInt(){ return Integer.parseInt(next()); } } }
- 1
信息
- ID
- 6
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 51
- 已通过
- 14
- 上传者