1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int sum[50],n,ans; 5 int main() 6 { 7 scanf("%d",&n); 8 for(int i=1;i<=n;i++) 9 scanf("%d",&sum[i]); 10 for(int i=2;i<=n;i++) 11 sum[i]+=sum[i-1]; 12 for(int i=n+1;i<=2*n;i++) 13 sum[i]=sum[n]+sum[i-n]; 14 for(int i=1;i<=n;i++) 15 for(int j=i+1;j<n+i;j++) 16 for(int k=j+1;k<n+i;k++) 17 for(int l=k+1;l<n+i;l++) 18 if(sum[j]-sum[i]==sum[l]-sum[k]&&sum[k]-sum[j]==sum[n+i]-sum[l]) 19 ans++; 20 printf("%d ",ans/4); 21 return 0; 22 }
n很小 直接四重循环枚举,看弧长是否相等,弧长相等弦长相等,两组边互相相等的四边形是平行四边形,圆内接平行四边形一定是矩形。