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 ...
随机推荐
- C# CultureInfo.InvariantCulture
今天在写代码的过程中发现了一个有意思的问题,我在写了一个日期格式转化的时候发现不同电脑的运行结果不一致. 代码如下 string str = this.tbTime.Text; if(string.I ...
- Eric6中编译窗体时,弹出提示:无法启动pyuic5的解决方案
用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,不需要在界面上花很多时间. 这是一对GUI开发完美的组合! Eric6中设计窗体时,弹出提示:‘无 ...
- 【Oracle】跟踪文件目录(User_Dump_Dest)生成脚本(11g/9i).txt
oracle 11g 生成跟踪目录(User_Dump_Dest)脚本: –设置合适显示长度: column trace new_val TRACE format a100 –脚本: select c ...
- RAP开发入门-运行过程简析(三)
今天通过标准的RAP程序来简单分析下RAP的启动过程 1.新建一个标准的rap plugin-in 项目: 得到的项目结构大概如下: run confi..->..add bundle(配置好b ...
- Q1002 四则运算
#include<iostream> using namespace std; int main() { long long sum1,sum2,sum3,sum4; long int a ...
- 2017/01/20 学习笔记 关于修改和重打jar包
背景 客户提供了jar包,但发现db表中缺少一个字段,db追加以后需要修改jar包中的source. 操作 如何修改jar包中的source并重新打一个新的jar包,做了如下操作. ① 开包 解压j ...
- Jmeter报内存溢出解决方案
描述:wimdows环境,做上传图片接口测试,涉及图片合成和上传,图片采用base64编码.每1s启动200线程的时候,Jmeter报内存溢出错误. 解决方案: 1.修改jmeter.bat: set ...
- 前端自动化构建yeoman
前端自动化可分为: yo(脚手架工具).grunt(构建工具).bower(包管理器). OMAN的特性 http://yeoman.io/learning/ 闪电般的初始化:项目开始阶段,可以基 ...
- JavaScript 三要素
一个完整的JavaScript 实现由3部分组成: ECMACcript ECMAScript 规定了这门语言的下列组成部分: 语法 类型 语句 关键字.保留字 操作符 对象为什么要使用DOM? ...
- 训练1-N
给出N个整数,对着N个整数进行排序 Input 第1行:整数的数量N(1 <= N <= 50000)第2 - N + 1行:待排序的整数(-10^9 <= Ai <= 10^ ...