CF 354E DFS
竟然搜过去了。。
显然从后往前搜索。每次判断最后若干位是否和目标一致。
对于每一位,可以填i个0 j个4 k个7 其中i+j+k==6
先预处理出这个。然后按位搜索。
#include <iostream> #include <cstdio> #include <cstring> using namespace std;int a[100][4]; int all; typedef unsigned long long ll; ll M; int d[100],np; ll te[100];void prework(){all=0;for (int i=0;i<=6;i++)for (int j=0;j<=6-i;j++){int k = 6-i-j;a[++all][0] = j*4+k*7;a[all][1] = i;a[all][2] = i+j;a[all][3] = i+j+k;}te[0] =1;for (int i=1;i<=18;i++) te[i]=te[i-1]*10; }bool check(ll a,ll b,int p){int aa = a/te[p-1]%10;int bb = b/te[p-1]%10;return aa==bb; }bool work(ll mul,ll now,int p){if (mul==now) return true;for (int i=1;i<=all;i++){if (mul-now<a[i][0]*te[p]) continue;ll ne = now+a[i][0]*te[p];if (!check(mul,ne,p+1)) continue;d[p]=i;np = p;if (work(mul,ne,p+1)) return true;}return false; }int dig[6][20];void output(){for (int i=0;i<=np;i++){for (int j=0;j<a[d[i]][1];j++) dig[j][i]=0;for (int j=a[d[i]][1];j<a[d[i]][2];j++) dig[j][i]=4;for (int j=a[d[i]][2];j<a[d[i]][3];j++) dig[j][i]=7;}for (int i=0;i<6;i++){ll now =0;for (int j=0;j<=np;j++) now+= te[j]*dig[i][j];cout << now << " ";}cout << endl; }int main(){prework();int T;cin >> T;ll N;while(T--){memset(dig,0,sizeof(dig));cin >> N;if (work(N,0,0)) output(); else cout << -1 << endl;} }
View Code
转载于:https://www.cnblogs.com/qinhang3/p/3370440.html
CF 354E DFS相关推荐
- dfs(小天狼星的访问,CF - 1249-B2)
目录 小天狼星的访问 CF - 1249-B2 小天狼星的访问 Description 经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子.霍格沃茨的地图呈一颗树状分布.每个房 ...
- CF 375D. Tree and Queries加强版!!!【dfs序分块 大小分类讨论】
传送门 题意: 一棵树,询问一个子树内出现次数$\ge k$的颜色有几种,Candy?这个沙茶自带强制在线 吐槽: 本来一道可以离散的莫队我非要强制在线用分块做:上午就开始写了然后发现思路错了...: ...
- CF Edu54 E. Vasya and a Tree DFS+树状数组
Vasya and a Tree 题意: 给定一棵树,对树有3e5的操作,每次操作为,把树上某个节点的不超过d的子节点都加上值x; 思路: 多开一个vector记录每个点上的操作.dfs这颗树,同时以 ...
- CF Fox And Two Dots (DFS)
Fox And Two Dots time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- CF 732F Tourist Reform——v-SCC+dfs
题目:http://codeforces.com/contest/732/problem/F 给无向图定向使得从每个点出发能去的点数最小值最大. SCC.点内部dfs定向.点间以siz最大的为起点反向 ...
- cf 723D Lakes in Berland(dfs)
D. Lakes in Berland time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 【打CF,学算法——三星级】CodeForces 615B Longtail Hedgehog (DFS/拓扑排序)
[CF简介] 提交链接:CF 615B 题面: B. Longtail Hedgehog time limit per test 3 seconds memory limit per test 256 ...
- CF#190DIV.1
1 /* 2 CF#190DIV.1-C 3 题意:给你n个结点的树,给这些结点标记字母AB..Z,对于标记相同的结点路径上 4 的结点的标记必须有一个是大于该标记的:问是否可以标记(A是最大标记) ...
- 2015 百度之星 1003 棋盘占领 dfs
棋盘占领 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest_show ...
- [CF]Codeforces Round #529 (Div. 3)
[CF]Codeforces Round #529 (Div. 3) C. Powers Of Two Description A positive integer xx is called a po ...
最新文章
- redis在linux下安装并測试(在spring下调用)
- ASP.NET完整打包卸载更新攻略(By Installshield 2010)【转】
- VTK:可视化算法之Cutter
- 【测评】PaMu Unique真无线蓝牙耳机,国潮新时尚,年轻人的标配
- Sequence II (HDU 5919)(主席树)
- mysql 创建新用户权限_MySQL创建新用户以及权限授予
- 简单记录fastDFS安装
- 网络蚂蚁(netants) v1.25 中文版 绿色
- Python(九)- 音频文字转换
- ug冲模标准件库_ug标准件库免费
- mysql删除的表怎么恢复_误删除mysql数据库表该如何恢复操作方法
- 智方8000系文具进销存管理系统 v11.27 bt
- 蒙特卡罗方法与马尔科夫链
- ios屏幕的旋转,Device Orientation
- 关于vs中出现lnk2019和lnk1120错误
- Mysql-12章-函数和操作符 (翻译+理解)
- 我要搬家到51CTO了.
- Android 开发高手课 课后练习(1 ~ 5)
- 为什么说HashSet是无序的
- python爬取淘票票正在热映电影