Divide by three, multiply by two CodeForces - 977D(dfs vector记录答案并利用vector回溯)

2023-11-17

em.....虽然自己想到了dfs回溯解决这个问题,结果却咋实现“记录答案但是如果答案不对,答案也要回溯”这个问题上翻了车。(原谅菜鸡我没有想到可以直接v.pop_back(),em...以前基本没用过这个功能,这里记录一下),参考了大佬代码。

AC代码:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn=100+5;
ll a[maxn],vis[maxn],n;
vector<ll>ans;
void dfs(int cnt){
	if(cnt==n){
		for(int i=0;i<ans.size();i++)cout<<ans[i]<<" ";
		cout<<endl;
		exit(0);
	}
	ll t=*(ans.end()-1);
	for(int i=1;i<=n;i++){
		if(vis[i])continue;
		if(a[i]*3==t||t*2==a[i]){//注意这里不能除,否者会产生误差 
		ans.push_back(a[i]);
		vis[i]=1;
		dfs(cnt+1);
		vis[i]=0;
		ans.pop_back(); 
		} 
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		vis[i]=1;
		ans.push_back(a[i]);
		dfs(1);
		vis[i]=0;;
		ans.pop_back();
	}
} 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Divide by three, multiply by two CodeForces - 977D(dfs vector记录答案并利用vector回溯) 的相关文章

随机推荐

  • 实战怎么用u盘重装系统

    当电脑系统出现故障问题无法进系统的情况下 我们可以通过制作u盘启动盘进pe系统进行修复或者重装系统解决 不过很多网友不知道怎么用u盘重装系统 今天小编就给大家分享一个简单易操作的u盘重装系统教程 具体的步骤如下 1 先在一台可用的电脑上下载
  • nodejs服务后台持续运行三种方法

    网上看到的 用了第二种方式OK的 自己备份保存下 一 利用 forever forever是一个nodejs守护进程 完全由命令行操控 forever会监控nodejs服务 并在服务挂掉后进行重启 1 安装 forever npm inst
  • 微信小程序之内嵌网页(webview)

    微信小程序提供了新的开放能力 它终于开放了在小程序中内嵌HTML页面的功能 从微信小程序基础库1 6 4开始 我们就可以在小程序内放置一个
  • 蓝桥杯大赛— —每日一题(6、走方格)

    走方格 题目描述 在平面上有一些二维的点阵 这些点的编号就像二维数组的编号一样 从上到下依次为第 1 至第 n 行 从左到右依次为第 1 至第 m 列 每一个点可以用行号和列号来表示 现在有个人站在第 1 行第 1 列 要走到第 n 行第
  • Redis可以代替MySQL作为数据库吗

    Redis可以代替MySQL作为数据库吗 当使用Redis作为数据库时 以下是一些基本的代码示例 1 连接到Redis服务器 2 存储和获取数据 3 列表操作 4 有序集合操作 6 键过期和删除 Redis作为数据库时 下面是一些更复杂的代
  • 如何基于G6进行双树流转绘制?

    1 背景 业务背景 CRM系统随着各业务条线对线索精细化分配的诉求逐渐增加 各个条线的流向规则会越来越复杂 各个条线甚至整个CRM的线索流转规则急需一种树形的可视化的图来表达 技术背景 在开发之前考虑了三种方案 原生canvas fabri
  • STM32 同个定时器 采用2个通道输入捕获

    工作中遇到 做点总结 之前看CSDN 找到一种写法 就是 把中断中的 CAPTURE VAL 的值 变成 date1 date2 去保存 但是我的写法不成功 一位大佬帮忙改成功了 总结我的写法错误之处 主函数区别 我把date1 清0 放后
  • java longlong_java Long long

    在Java中执行如下的代码 long number 26012402244 编译的时候会出现一个错误 提示 过大的整数 32322355744 如果在Eclipse中书写上面的代码 提示的是 The literal 26012402244
  • DrawerLayout与FragmentTabHost结合模仿oschina主界面

    1 DrawerLayout实现侧滑菜单 drawerlayout是官方出的侧滑菜单控件 使用起来非常方便 将它当作LinearLayout一样的布局控件 完成布局xml文件
  • 安全(六种核心安全机制-加密、密钥、签名与证书)

    安全要解决什么问题 你都会的密码术 安全机制之对称加密 安全机制之非对称加密 安全机制之密钥交换 安全机制之消息摘要 安全机制之电子签名 安全机制之证书与PKI 一 在典型的场景中 安全主要用于解决4类需求 1 保密 Security Co
  • Load balancer does not have available server for client问题

    Load balancer does not have available server for client问题 是因为消费端没有调用成功服务端 下面四步是必备的 可以检查一番 1 写nacos发现的启动类注解 SpringBootApp
  • statsmodels 笔记:seasonal_decompose 时间序列分解

    1 使用方法 statsmodels tsa seasonal seasonal decompose x model additive filt None period None two sided True extrapolate tre
  • [Nowcoder / POJ2728] 最优比率生成树

    Nowcoder链接 POJ链接 题目描述 David the Great has just become the king of a desert country To win the respect of his people he d
  • 单例模式的6种实现方式

    单例模式的6种实现方式 一 单例模式的定义 定义 确保一个类只有一个实例 并提供该实例的全局访问点 这样做的好处是 有些实例 全局只需要一个就够了 适用单例模式就可以避免一个全局适用的类 频繁的创建和销毁 耗费系统资源 二 单例模式的设计要
  • C++函数指针应用例子

    C 函数指针应用例子 前段时间在写代码的时候 想让程序根据一个函数运行出的结果 从四个函数中自动选择一个函数运行 这四个函数我们就取名叫 value 0 value 1 value 2 value 3 假设value 0是这样的 int v
  • 基于Android系统英语学习助手APP设计开发

    一 设计思路 1 1设计目标 1 2设计思路 1 3设计内容 1 3 1界面设计 1 3 2功能模块设计 1 3 3功能流程图 1 3 4数据库设计 如果没有数据库这部分删除 1 4工具设备要求 1 5技术方案 二 设计过程与说明 2 1技
  • JVM 内存分析—优化

    参考链接 https www jianshu com p c6e2abb9f657 JVM及GC https blog csdn net sltylzx article details 90704205 在Eclipse上安装MAT Mem
  • kafka学习指南(总结版)

    版本介绍 从使用上来看 以0 9为分界线 0 9开始不再区分高级 低级消费者API 从兼容性上来看 以0 8 x为分界线 0 8 x不兼容以前的版本 总体拓扑架构 从上可知 1 生产者不需要访问zookeeper 2 消费者fetch消息
  • 利用PDB文件将蛋白中的单聚体利用对称矩阵转换为二聚体

    下面是需要在VMD中执行的tcl脚本 steps source mono2poly tcl mol delete all mol new filename pdb set sel atomselect top all set matrix
  • Divide by three, multiply by two CodeForces - 977D(dfs vector记录答案并利用vector回溯)

    em 虽然自己想到了dfs回溯解决这个问题 结果却咋实现 记录答案但是如果答案不对 答案也要回溯 这个问题上翻了车 原谅菜鸡我没有想到可以直接v pop back em 以前基本没用过这个功能 这里记录一下 参考了大佬代码 AC代码 inc