代码说明:
将数据存起来,依次枚举即可
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
int n,l,ans;
int f[110];
bool check(int l,int r) {
while(--l>=0&&++r<n)
if(f[l+1]-f[l]!=f[r]-f[r-1])//相邻两个绳结的距离
return false;
return true;
}
int main() {
cin >> n >> l;
for(int i=0; i<n; i++) cin >> f[i];
sort(f,f+n);//将绳结排序
for(int i=0; i<n-1; i++) {
if(check(i,i)) ans++;
if(check(i,i+1)) ans++;
}
cout << ans-1;//去掉绳的首端
return 0;
}