首页 > 学院 > 开发设计 > 正文

poj1247

2019-11-11 01:54:16
字体:
来源:转载
供稿:网友

题目大意:

给N个数,一个人从前往后走,一个人从后往前走,把这N个数平均分成两部分。

解题思路:

哪个数小就继续走就行了

代码如下:

#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>int main(){ int n,i,s,e,sums,sume; int num[50]; while(scanf("%d",&n)&&n!=0) { for(i=1;i<=n;i++) { scanf("%d",&num[i]); } sums=num[1];sume=num[n]; s=1;e=n; while(e-s>1) { if(sums<sume) { s++; sums=sums+num[s]; } else { e--; sume=sume+num[e]; } } if(sume==sums) { PRintf("Sam stops at position %d and Ella stops at position %d./n",s,e); } else { printf("No equal partitioning./n"); } } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表