洛谷 P1881 绳子对折
2024-10-19 22:29:00
题目描述
FJ 有一个长度为L(1<= L <= 10,000)的绳子。 这个绳子上有N(1 <= N <= 100)个结,包括两个端点。 FJ想将绳子对折,并使较短一边的绳子上的结与较长一边绳子上的结完全重合,如图所示:
找出FJ有多少种可行的折叠方案。
输入输出格式
输入格式:
第一行: 两个整数, N和L
第2至N+1行: 每一行包含一个整数表示一个结所在的位置,总有两个数为0和L
输出格式:
第一行: 一个整数表示FJ可折叠的方案数。
输入输出样例
说明
(可在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;
}
最新文章
- 关于从Activity A跳转到Activity B ,其中Activity A中有一个VideoView,Activity B中有一个MediaPlayer。
- [Python] py2exe先知其然
- Win10 for Phone 裁剪控件
- HTTP请求中的Body构建——.NET客户端调用JAVA服务进行文件上传
- linux登录mysql
- CSS3 border属性的妙用
- Qt持久性对象进行序列化(同时比较了MFC与Java的方法)
- 1秒破解 js packer 加密
- Historical节点
- 京东JOS API 接入使用笔记
- Two Sum(两个数的相加)
- phpstorm ctrl+shift+F键不管用,不弹出搜索弹框
- 从Git到GitHub,详细教程
- Spark编译及spark开发环境搭建
- Java (六、String类和StringBuffer)
- JVM内存管理 《深入分析java web 技术内幕》第八章
- 《构建之法》课程进度之Github、Travis等工具融入篇
- Qt调用自己编译的libglog.a出现问题
- 更改Ubuntu默认python版本的方法
- pygame-KidsCanCode系列jumpy-part1-如何组织复杂游戏的代码