关闭

zoj 1402 Magnificent Meatballs

206人阅读 评论(0) 收藏 举报
#include "iostream"
#include "memory.h"
using namespace std;

int meatballs[40];

int main()
{
	int guestnum, i, j, sum1, sum2;
	while (cin >> guestnum && guestnum)
	{
		memset(meatballs, 0, sizeof(meatballs));
		sum1 = sum2 = 0;
		for (i = 0; i < guestnum; i++)
			cin >> meatballs[i];
		sum1 += meatballs[0];
		sum2 += meatballs[guestnum-1];
		for (i = 1, j = guestnum-2; ;)
		{
			if (i > j)  break;//就是由于这个条件的位置没有放对,WA了几次!考虑不够周全!
			if (sum1 > sum2)
			{
				sum2 += meatballs[j];
				j = j -1;
			}
			else 
			{
				sum1 += meatballs[i];
				i = i + 1;
			}
		}
		if (sum1 == sum2)
			cout << "Sam stops at position " << i << " and Ella stops at position " << i + 1<< "." << endl;
		else
			cout << "No equal partitioning." << endl;
	}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:486502次
    • 积分:8057
    • 等级:
    • 排名:第2503名
    • 原创:414篇
    • 转载:22篇
    • 译文:0篇
    • 评论:55条
    最新评论