现在的位置: 首页 > 综合 > 正文

1800: [Ahoi2009]fly 飞行棋

2018年01月13日 ⁄ 综合 ⁄ 共 510字 ⁄ 字号 评论关闭
#include<iostream>
#include<cstdio>
using namespace std;
inline int read(){
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
int n,ans,tot,a[25],dis[25];
int main(){
	n=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
		dis[i]=dis[i-1]+a[i];
		tot+=a[i];
	}
	for(int a=1;a<=n;a++)
		for(int b=a+1;b<=n;b++)
			for(int c=b+1;c<=n;c++)
				for(int d=c+1;d<=n;d++)
					if((dis[b]-dis[a]==dis[d]-dis[c])&&(tot-dis[d]+dis[a]==dis[c]-dis[b]))
            			ans++;
    printf("%d",ans);
    return 0;
}

抱歉!评论已关闭.