题意:一个环上有数字,一个人在环头,一人在环尾,分别顺时针和逆时针走,如果能把环的数字和平分,分别输出两个人所在的位置。直接暴力水过。
#include<iostream>
using namespace std;
int main()
{
int a[35];
int N;
int sum1,sum2,sum;
int i,j;
while(scanf("%d",&N)!=EOF)
{
sum=0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
sum1=0;sum2=0;
for(i=0;i<N;i++)
{
sum1+=a[i];
sum2=0;
for(j=N-1;j>=i;j--)
{
sum2+=a[j];
if(sum1==sum2&&sum1==sum/2)
{
printf("Sam stops at position %d and Ella stops at position %d.\n",i+1,j+1);
break;
}
if(sum2>sum1) break;
}
if(sum1==sum2&&sum1==sum/2) break;
}
if(sum1!=sum2) printf("No equal partitioning.\n");
}
}