题目描述

FJ 有一个长度为L(1<= L <= 10,000)的绳子。 这个绳子上有N(1 <= N <= 100)个结,包括两个端点。 FJ想将绳子对折,并使较短一边的绳子上的结与较长一边绳子上的结完全重合,如图所示:

找出FJ有多少种可行的折叠方案。

输入输出格式

输入格式:

第一行: 两个整数, N和L

第2至N+1行: 每一行包含一个整数表示一个结所在的位置,总有两个数为0和L

输出格式:

第一行: 一个整数表示FJ可折叠的方案数。

输入输出样例

输入样例#1: 复制

5 10
0
10
6
2
4
输出样例#1: 复制

4

说明

(可在1,2,3,8点处折叠)

思路:枚举

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,l,ans;
int num[];
int main(){
scanf("%d%d",&n,&l);
for(int i=;i<=n;i++) scanf("%d",&num[i]);
sort(num+,num++n);
for(int i=;i<=n;i++){
int l=,r=i;
while(l<=r&&num[l+]-num[l]==num[r]-num[r-]) l++,r--;
if(l>=r) ans++;
}
for(int i=;i<n;i++){
int l=i,r=n;
while(l<=r&&num[l+]-num[l]==num[r]-num[r-]) l++,r--;
if(l>=r) ans++;
}
cout<<ans;
}

最新文章

  1. 关于从Activity A跳转到Activity B ,其中Activity A中有一个VideoView,Activity B中有一个MediaPlayer。
  2. [Python] py2exe先知其然
  3. Win10 for Phone 裁剪控件
  4. HTTP请求中的Body构建——.NET客户端调用JAVA服务进行文件上传
  5. linux登录mysql
  6. CSS3 border属性的妙用
  7. Qt持久性对象进行序列化(同时比较了MFC与Java的方法)
  8. 1秒破解 js packer 加密
  9. Historical节点
  10. 京东JOS API 接入使用笔记
  11. Two Sum(两个数的相加)
  12. phpstorm ctrl+shift+F键不管用,不弹出搜索弹框
  13. 从Git到GitHub,详细教程
  14. Spark编译及spark开发环境搭建
  15. Java (六、String类和StringBuffer)
  16. JVM内存管理 《深入分析java web 技术内幕》第八章
  17. 《构建之法》课程进度之Github、Travis等工具融入篇
  18. Qt调用自己编译的libglog.a出现问题
  19. 更改Ubuntu默认python版本的方法
  20. pygame-KidsCanCode系列jumpy-part1-如何组织复杂游戏的代码

热门文章

  1. 微信小程序 获取数组长度
  2. Symfony4中文文档: 安装和设置Symfony框架
  3. 结合Vue 的滚动底部加载
  4. Unity Camera中心点的偏移
  5. 题解 CF1037D 【Valid BFS?】
  6. 洛谷 P2083 找人
  7. centos同步网络北京时间
  8. berkeley db储存URL队列的简单实现增、删、查
  9. Launcher3实现壁纸居中
  10. app引导效果introjs的使用