【noip模拟赛4】Matrix67的派对 暴力dfs
描述
Matrix67发现身高接近的人似乎更合得来。Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排在圆桌上。Matrix67的安排原则是,圆桌上任意两个相邻人的身高之差不能超过K。请告诉Matrix67他共有多少种安排方法。
输入
第一行输入两个用空格隔开的数N和K,其中1<=N<=10,1<=K<=1 000 000。
第二行到第N+1行每行输入一个人的身高值。所有人的身高都是不超过1 000 000的正整数
输出
输出符合要求的安排总数
输入样例 1
4 10
2
16
6
10
输出样例 1
2 做法:
用dfs试每一条路,记录一个步数step,当step==n,切该点和起点差距小于k时,答案就累计一个。
开3个数组:
1 pre 记录 step-1 时,是哪个点,用来与step时的各个数比较判断能否做一起。
2 flag 在试没一条路时,用flag标记每一条路,防止死循环,这条路探完后,重置为0。
3 high 记录每个人的高。 注意:有特解 当n=1时,ans 应为1。
#include<iostream>
#include<cmath>
#include<stdio.h>
#include<vector>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int maxn=;
int high[maxn],pre[maxn];
int n,k,ans;
bool flag[maxn]; void dfs(int step)
{ for(int i=;i<=n;i++)
{
if(!flag[i]&&abs(high[i]-high[pre[step-]])<=k)
{
flag[i]=;
pre[step]=i;
if(step==n&&abs(high[pre[step]]-high[])<=k)
{
ans++;
}
else
dfs(step+);
flag[i]=;
}
}
} int main(void)
{
// freopen("input.txt","r",stdin);
cin>>n>>k;
for(int i=;i<=n;i++)
{
cin>>high[i];
}
if(n==)
ans=;
else
{
ans=;
flag[]=;
pre[]=;
dfs();
}
cout<<ans<<endl;
return ;
}
【noip模拟赛4】Matrix67的派对 暴力dfs的更多相关文章
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- CH Round #49 - Streaming #4 (NOIP模拟赛Day2)
A.二叉树的的根 题目:http://www.contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP 模 ...
- CH Round #48 - Streaming #3 (NOIP模拟赛Day1)
A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛D ...
- CH Round #54 - Streaming #5 (NOIP模拟赛Day1)
A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- NOIP模拟赛-2018.11.5
NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...
- NOI.AC NOIP模拟赛 第三场 补记
NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不 ...
随机推荐
- 数据泵导出报ORA-01555 ORA-22924
最近对某数据库执行数据泵导出操作时碰到如下错误:Processing object type DATABASE_EXPORT/SCHEMA/JOBProcessing object type DATA ...
- tensorflow学习001——MNIST
1.MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片 数据集被分成两部分:60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test). 这样的 ...
- JavaScript 正则表达式学习笔记
定义规则让计算机去处理字符串正则表达式写法: //第一种 var reg = new RegExp('ab'); //第二种 var reg = /ab/; 量词:{} [a-z] 从小写a-z [A ...
- Python多线程实例
前言 感觉理解python多线程用“切换”和“共享”就差不多了.这里就贴上一个抢车票的小小实例,还有自己在编程过程中遇到的坑..... 实例:抢车票 抢车票有三类人:会员.弄了加速包.普通人. 说说区 ...
- 如何解决iOS界面操作导致导致NSTimer暂停计时的问题?
在NSTimer代码后面加上以下代码,这样滚动scroll的时候就不会暂停了.NSRunLoop *t = [NSRunLoop currentRunLoop];[t addTimer: timer ...
- 搭建Django链接MySQL流程(python2版)
之前生成选型python3,除了用的python3的pymysql模块之外其他的都是一样的. 1.首先搭建mysql(Mariadb)数据库(单点) 安装方式分为yum安装,rpm包安 ...
- python request 请求https verify=False时warning
import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.pac ...
- SpringCloud系列八:Zuul 路由访问(Zuul 的基本使用、Zuul 路由功能、zuul 过滤访问、Zuul 服务降级)
1.概念:Zuul 路由访问 2.具体内容 在现在为止所有的微服务都是通过 Eureka 找到的,但是在很多的开发之中为了规范微服务的使用,提供有一个路由的处理控制组件:Zuul,也就是说 Zuul ...
- Android中四大组件总结
android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activity (1)一个 ...
- Python-Unittest
TestCase——> Test Fixure测试固件 | TestSuite测试套件——>TestRunner测试运行器 | TestReport 测试断言 verbosity=2 0代 ...