UESTC--1262--Memory(dfs)
| Time Limit: 1000MS | Memory Limit: 65535KB | 64bit IO Format: %lld & %llu |
Description
小x和小h是好盆友,小h从小体弱多病,而且还非常健忘,于是把自己平时吃的$n$瓶药都给小x等人保管。
某一天由于雾都的pm2.5爆表,小h的慢性呼吸道疾病又发作了,但当小x掏出药瓶的时候,却发现了异常情况。
小x现在有n瓶药,每瓶药里面有无限个药片,每片药重量严格等于1克。但是,吹毛求疵的小x发现$n$瓶药中有2瓶药的每一片药片在重量上是不合格的,不合格的药片比正常药片轻0.1g。
小x现在有一个电子称$($能够显示具体重量$)$,由于时间紧急,小x决定从每瓶药中选择$b_i(1\le b_i)$个药片,称量它们的总和,并且只称一次,从而找出这两瓶不合格药的编号。
现在,请问最小字典序的序列$b($由$b_i$构成$)$是多少?
Input
一行一个整数$n(2\le n\le 52)$
Output
一行$n$个数字,两两间用空格隔开,注意结尾没有空格。
Sample Input
3
Sample Output
1 2 3
Hint
若 $a_1,a_2 .. a_n$ 比 $b_1,b_2 .. b_n$ 字典序小,则必存在 $j (1\le j \le n)$ 使得 $a_j$ < $b_j$ 且 对于所有$i<j$都有$a_i = b_i$
样例的解释:如果称出来是5.7g,那么就是第1和第2瓶不合格;如果是5.6g,那么就是第1和第3瓶不合格;如果是5.5g,那么就是第2和第3瓶不合格。
Source
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define MAXN 1010
#define MAXM 100010
#define INF 0x3f3f3f
long long num[MAXN];
int vis[MAXM],v[MAXM],v2[MAXM];
int flog,n;
void dfs(int p)
{
if(p==n)
{
memset(v2,0,sizeof(v2));
int k=0;
for(int i=0;i<n;i++)
for(int j=0;j<i;j++)
{
if(v2[num[i]+num[j]])
{
k=1;break;
}
else v2[num[i]+num[j]]=1;
}
if(!k) flog=1;
return ;
}
if(flog) return ;
for(int i=1;!flog;i++)
{
int f=0;
for(int j=0;j<p;j++)
if(v[num[j]+i])
f=1;
if(!vis[i]&&!f)
{
num[p]=i;
for(int j=0;j<p;j++)
v[num[j]+i]=1;
vis[i]=1;
dfs(p+1);
vis[i]=0;
if(flog)
return;
}
}
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
memset(vis,0,sizeof(vis));
memset(num,0,sizeof(num));
memset(v,0,sizeof(v));
if(n==1)
printf("1 2 3\n");
else if(n==2)
printf("1 1\n");
else
{
flog=0;
dfs(0);
printf("%lld",num[0]);
for(int i=1;i<n;i++)
printf(" %lld",num[i]);
printf("\n");
}
}
return 0;
}
UESTC--1262--Memory(dfs)的更多相关文章
- HDU - 1427 / UESTC - 1252 经典dfs
很好奇为什么hzwer那种稍改一下还是无法过样例,代码我没看出问题 换了一种用桶组合挑取两个数不断回溯的做法 这是HDU1427的代码,后者改一改就行了 #include<bits/stdc++ ...
- Memory
A - Memory Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%lld & %llu Submit Sta ...
- LeetCode: Minimum Path Sum 解题报告
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- leetcode 解题报告 Word Ladder II
题目不多说了.见https://oj.leetcode.com/problems/word-ladder-ii/ 这一题我反复修改了两天半.尝试过各种思路,总是报TLE.终于知道这一题为什么是leet ...
- 【NX二次开发】NX内部函数,libugui.dll文件中的内部函数
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool A ...
- 2015 UESTC 搜索专题C题 基爷与加法等式 爆搜DFS
基爷与加法等式 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 Desc ...
- ACM学习历程—UESTC 1219 Ba Gua Zhen(dfs && 独立回路 && xor高斯消元)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1219 题目大意是给了一张图,然后要求一个点通过路径回到这个点,使得xor和最大. 这是CCPC南阳站的一道题 ...
- UESTC 1717 Journey(DFS+LCA)(Sichuan State Programming Contest 2012)
Description Bob has traveled to byteland, he find the N cities in byteland formed a tree structure, ...
- BZOJ 1064 假面舞会(NOI2008) DFS判环
此题,回想Sunshinezff学长给我们出的模拟题,原题啊有木有!!此处吐槽Sunshinezff爷出题不人道!! 不过也感谢Sunshinezff学长的帮助,我才能做出来.. 1064: [Noi ...
- cdoj 15 Kastenlauf dfs
Kastenlauf Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/3 De ...
随机推荐
- 信息检索及DM必备知识总结:luncene
原文链接:http://blog.csdn.net/htw2012/article/details/17734529 有少量修改!如有疑问,请访问原作者. 一:信息检索领域: 信息检索和网络数据领域( ...
- vue项目中引用echarts的几种方式
准备工作: 首先我们初始化一个vue项目,执行vue init webpack echart,接着我们进入初始化的项目下.安装echarts, npm install echarts -S //或 ...
- (转)RabbitMQ学习之消息可靠性及特性
http://blog.csdn.net/zhu_tianwei/article/details/53971296 下面主要从队列.消息发送.消息接收方面了解消息传递过的一些可靠性处理. 1.队列 消 ...
- Zabbix系列-REHL6.10离线方式安装Zabbix 4.0 LTS
环境 第零步:关闭系统默认防火墙 setenforce 0 sed -i -r "/^SELINUX=/c SELINUX=disabled" /etc/selinux/confi ...
- 路飞学城Python-Day137
django项目二 个人博客系统 github地址:https://github.com/pandaboy1123/cnblog
- 发现被坑了,从来没看到说java的Date一旦实例化时间就不会变了
java中使用Date对象获取系统当前时间,然而我就没看到哪篇教程告诉我说Date创建对象之后其中的时间是不会变的!!! 一开始我写了类似于下边这样的代码,希望每隔一段时间显示一次时间 Date d= ...
- 【JavaScript框架封装】实现一个类似于JQuery的属性框架的封装
// 属性框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({ /** * 获取/设置某一个元素 ...
- nodejs 使用crypto实现sha256\md5加密
var crypto = require('crypto'); var hash = crypto.createHash('sha256');// sha256或者md5 hash.update('1 ...
- N1-1 - 树 - Minimum Depth of Binary Tree
题目描述: Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the ...
- BFS与DFS模板
搜索问题的解法 DFS(深度优先搜索) BFS(广度优先搜索) backtracking(回溯) DFS模板 void dfs(...) { // 结束递归的条件 if (...) { ..... / ...