1805:碎纸机 (java实现 DFS 回溯)

news/2024/12/29 5:27:18/

题目链接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dfs,转化为处理子问题如123456,1和子问题“23456”,12和子问题“3456”等

注意遇到重复的切割方式不能简单的修改ans=-2,因为当再次遇到相同方式,会覆盖掉-2.

import java.util.*;public class Main {public static int ans=-1;//如果此值未修改,则输出errorpublic static boolean flag=false;//标记是否出现了重复的切割方案public static LinkedList<Integer> tmp=new LinkedList<Integer>();public static LinkedList<Integer> ANS;public static void dfs(String x,int curSum,int target) {//当前在处理子串xif(curSum>target) {return;}if(x.equals("")) {//已经切割完毕if(curSum>ans) {flag=false;ans=curSum;ANS=new LinkedList<Integer>(tmp);}else if(curSum==ans) {//ans=-2;//表示遇到相同的切割方式了,不能用这种方式,如果存在3、5等等奇数种这种分割方式,会抵消flag=true;}return;}int sum=0;for(int i=0;i<x.length();i++) {sum=sum*10+x.charAt(i)-'0';tmp.addLast(sum);dfs(x.substring(i+1, x.length()),curSum+sum,target);tmp.removeLast();}}public static void main(String[] Args) {Scanner sc=new Scanner(System.in);String[] str=new String[2];while(sc.hasNextLine()) {//一行一行读进来String tmp=sc.nextLine();str=tmp.split(" ");if(str[0].equals(str[1]) && str[0].equals("0")) {break;}ans=-1;int target=Integer.parseInt(str[0]);dfs(str[1],0,target);if(ans==-1) {System.out.println("error");}else if(flag) {System.out.println("rejected");}else {System.out.print(ans+" ");for(int i=0;i<ANS.size();i++) {System.out.print(ANS.get(i)+" ");}System.out.println();}}}
}

http://www.ppmy.cn/news/135504.html

相关文章

【专题5: 硬件设计】 之 【38.案例三:碎纸机,正转信号和反转信号只能二选一】

希望本是无所谓有&#xff0c;无所谓无的&#xff0c;这正如脚下的路&#xff0c;其实地上本没有路&#xff0c;走的人多了&#xff0c;也便成了路原创不易&#xff0c;文章会持续更新文章会同步到作者个人公众号上&#xff0c;感谢扫码关注 所有文章总目录&#xff1a;【嵌入式…

【专题5: 硬件设计】 之 【29.案例三:碎纸机,继电器和电磁兼容概述】

希望本是无所谓有&#xff0c;无所谓无的&#xff0c;这正如脚下的路&#xff0c;其实地上本没有路&#xff0c;走的人多了&#xff0c;也便成了路原创不易&#xff0c;文章会持续更新文章会同步到作者个人公众号上&#xff0c;感谢扫码关注 所有文章总目录&#xff1a;【嵌入式…

ISCC 2019 杂项 碎纸机(“想要我的宝藏吗?如果想要的话,那就到碎纸机中找吧,我全部都放在那里。”)

先下载吧 下载之后 打开 是一个 jpg文件 打开 真的是一个碎纸机 将文件名称改为 .zip 解压后可以得到 十张图片&#xff01;&#xff01;&#xff01; 还有一个文本文件如下 碎纸机中居然是一堆黑色和白色的碎片&#xff0c;但是这些碎片之中到底会有什么样的宝藏呢&…

openjudge 1805碎纸机 解析报告

openjudge 1805:碎纸机 解析报告总时间限制: 1000ms 内存限制: 65536kB描述你现在负责设计一种新式的碎纸机。一般的碎纸机会把纸切成小片&#xff0c;变得难以阅读。而你设计的新式的碎纸机有以下的特点&#xff1a; 1.每次切割之前&#xff0c;先要给定碎纸机一个目标数&…

XCTF---MISC---碎纸机11

XCTF—MISC—碎纸机11 flag&#xff1a;flag{You Can Repair A Picture From Splices Baesd On Entropy} 解题思路&#xff1a; 1、观察题目&#xff0c;下载附件。 2、下载后是一个文件夹&#xff0c;文件夹中包含了50张图片&#xff0c;图片宽度非常窄&#xff0c;根据题目…

poj-碎纸机

参考自&#xff1a;这位博主~ 描述 你现在负责设计一种新式的碎纸机。一般的碎纸机会把纸切成小片&#xff0c;变得难以阅读。而你设计的新式的碎纸机有以下的特点&#xff1a; 1.每次切割之前&#xff0c;先要给定碎纸机一个目标数&#xff0c;而且在每张被送入碎纸机的纸片…

7-5 还原文件 (20 分) 一份重要文件被撕成两半,其中一半还被送进了碎纸机。我们将碎纸机里找到的纸条进行编号,如图 1 所示。然后根据断口的折线形状跟没有切碎的

文章目录 题目描述输入格式输出格式输入样例输出样例代码思路 7-5 还原文件 (20 分) 题目描述 一份重要文件被撕成两半&#xff0c;其中一半还被送进了碎纸机。我们将碎纸机里找到的纸条进行编号&#xff0c;如图 1 所示。然后根据断口的折线形状跟没有切碎的半张纸进行匹配&a…

橡胶碎纸机行业调研报告 - 市场现状分析与发展前景预测

出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 橡胶碎纸机市场报告涉及的主要国际市场参与者有ARJES - Recycling Innovation、BANO RECYCLING、Bollegraaf Recycling Solutions、Changshu Shouyu Machinery、Doppstadt、Enerpat Machine、Gensco Equ…