CF977D Divide by three, multiply by two
题目链接
我同学在旁边做者道题,我也看了一下
真的好水难
一看这道题,直接搜索
剪枝是不可能剪枝的一辈子不可能
Code
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const long long MAXN = 105;
long long n;
long long a[MAXN],b[MAXN];
bool sign = false;
bool flag[MAXN];
void dfs(long long now){
	if (now == n){
		for (int i = 1 ; i <= n ; i++){
			printf("%lld ",b[i]);
		}
		sign = true;
		return ;
	}
	if (sign == true) return ;
	for (int i = 1 ; i <= n ; i++){
		if (flag[i] == true) continue;
		if(flag[i] == false){
			if (b[now] * 2 == a[i] || (a[i] * 3 == b[now])){ //由于要当p[i] % 3 = 0 时
				b[now + 1] = a[i];
				flag[i] = true;
				dfs(now + 1);
				flag[i] = false;
			}
		}
	}	
	return ;
}
int main(){
	scanf("%lld",&n);
	for (int i = 1 ; i <= n ; i++) scanf("%lld",&a[i]);
	for (int i = 1 ; i <= n ; i++){
		flag[i] = true;
		b[1] = a[i];
		dfs(1);
		flag[i] = false;
	}
	return 0;
}
CF977D Divide by three, multiply by two的更多相关文章
- Codeforces Round #479 (Div. 3) D. Divide by three, multiply by two
		传送门 D. Divide by three, multiply by two •题意 给你一个数 x,有以下两种操作,x 可以任选其中一种操作得到数 y 1.如果x可以被3整除,y=x/3 2.y= ... 
- Divide by three, multiply by two CodeForces - 977D (思维排序)
		Polycarp likes to play with numbers. He takes some integer number xx, writes it down on the board, a ... 
- Divide by three, multiply by two(DFS+思维)
		Polycarp likes to play with numbers. He takes some integer number x, writes it down on the board, an ... 
- Codeforces 977D Divide by three, multiply by two(拓扑排序)
		Polycarp likes to play with numbers. He takes some integer number xx, writes it down on the board, ... 
- Codeforces 977D: Divide by three, multiply by two(暴力)
		题意 有nnn个无序的数,对这些数进行排列,要求ai=3×ai+1a_i=3\times a_{i+1}ai=3×ai+1或2×ai=ai+12\times a_i=a_{i+1}2×ai=ai ... 
- Codeforces977D ---Divide by three, multiply by two 深搜+map存出现的数
		传送门:点我 题意:给定n长度的序列,重排成后一个数是前一个数除以三,或者后一个数是前一个数乘二,要求输出这个序列. 思路:大力深搜,对每个数搜除3的和乘2的是否出现过,然后继续搜下去.如果有一个数搜 ... 
- Codeforces Round #479 (Div. 3)  D. Divide by three, multiply by two  (DFS)
		题意:给你一个长度为\(n\)的序列\(a\).对它重新排列,使得\(a_{i+1}=a_{i}/3\)或\(a_{i+1}=2*a_{i}\).输出重新排列后的序列. 题解:经典DFS,遍历这个序列 ... 
- Java创建WebService服务及客户端实现(转)
		简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ... 
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
		(转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ... 
随机推荐
- 全面解析JVM加载中初始化的时机
			JVM类加载过程 JVM类加载过程分为几个阶段,分别是加载.验证.准备.解析和初始化.加载是把二进制字节码载入内存,验证是校验字节流中包含的信息是否符合当要求,准备是为静态变量分配内存并设置静态变量初 ... 
- socket实现一个简单的echo服务
			服务端的实现: public class EchoServer{ //创建一个serverSocket private final ServerSocket serverSocket; //创建一个构 ... 
- mq解决分布式事物问题【代码】
			上节课简单说了一下mq是怎么保证数据一致性的.下面直接上代码了. 所需环境:1.zookeepor注册中心 2.kafka的服务端和工具客户端(工具客户端也可以不要只是为了更方便的查看消息而已) ... 
- php上传下载文件
			之前做一个上传下载的项目,发现网上的和自己需求不是很一样,翻阅了下书籍和整理了下网上的一些代码.做了一个上传下载的demo,上传通过php本身的uploadfile函数,并返回以时间戳命名的文件名后, ... 
- SI4432和SI1212通讯
			SI4432是美国Silabs研发的一款工作频段低于1GHz的高性能射频收发芯片,属于其EzRadioPro系类.在国内已经广泛应用于工业.科研.医疗(ISM)以及短距离无线通信设备(SRD),其输出 ... 
- git 使用详解(3)—— 最基本命令 + .gitignore 文件
			Git 基础 本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某 ... 
- GIS学习汇总
			GIS之家: Geoserver: geoserver安装部署步骤 geoserver发布地图服务WMS geoserver发布地图服务WMTS geoserver集成以及部署arcgis serve ... 
- GeoTools介绍、环境安装、读取shp文件并显示
			GeoTools是一个开放源代码(LGPL)Java代码库,它提供了符合标准的方法来处理地理空间数据,例如实现地理信息系统(GIS).GeoTools库实现了开放地理空间联盟(OGC)规范. Geot ... 
- Zabbix通过与微信、钉钉整合实现实时告警
			abbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信.钉钉作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警 ... 
- Selenium之勾选框操作
			勾选框操作: 所谓勾选框,意思是可以勾选一个及以上或全部勾选.勾选框的图标一般都是方形的. 复选框勾选一般分为三种情况: ①勾选单个框,我们直接用元素定位的方式定位到点击即可. ②勾选多个 ... 
