现在的位置: 首页 > 综合 > 正文

ACM_43 24点

2019年06月13日 ⁄ 综合 ⁄ 共 1151字 ⁄ 字号 评论关闭
输入格式说明

测试组数

能使用的数字数 
需要组成的数   数字1  数字2 
。。。。。

这题目很水,只要用回溯法遍历就行,感觉是测试数据的规模缩小了,最后导致容易通过,

需要注意的地方是中间过程中可能出现浮点数导致结果出问题

import java.util.ArrayList;
import java.util.Scanner;

public class Point24 {

    public
static void main(String[] args) {
   
    Point24
point24 = new Point24();
        
point24.solution();
    }

    public void
solution() {
   
    in = new
Scanner(System.in);
   
    int groups =
in.nextInt();
   
    for (int i =
0; i < groups; i++) {
   
   
    int num =
in.nextInt();
   
   
    int
destination  = in.nextInt();
   
   
    ArrayList
input = getDate(num);
   
   
   
System.out.println(handle(destination,input)?"Yes":"No");
   
    }
    }
    Scanner
in;
    private
ArrayList getDate(int num){
   
    ArrayList
reval =  new ArrayList();
   
    for(int i =
0 ; i < num ; i++){
   
   
   
reval.add(new MyNumber(in.nextInt()));
   
    }
   
    return
reval;
    }
   
   
//采用递归的方式
    private
boolean handle(int destination,ArrayList input){
   
   
switch(input.size()){
   
    case
0:
   
   
    return
false;
   
    case
1:
   
   
    return
input.get(0).getNumber() == destination;
   
   
default:
   
   
    break;
   
    }
   
    for(int i =
0 ; i 
   
   
    for(int j =
i+1 ; j < input.size() ; j++){
   
   
   
    MyNumber
tempj = input.remove(j);
   
   
   
    MyNumber
tempi = input.remove(i);
   
   
   
  

抱歉!评论已关闭.