POJ1247解题报告
来源:互联网 发布:最新软件下载大全 编辑:程序博客网 时间:2024/06/04 18:26
Magnificent Meatballs
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 5202 Accepted: 3515
Description
Sam and Ella run a catering service. They like to put on a show when serving meatballs to guests seated at round tables. They march out of the kitchen with pots of meatballs and start serving adjacent guests. Ella goes counterclockwise and Sam goes clockwise, until they both plop down their last meatball, at the same time, again at adjacent guests. This impressive routine can only be accomplished if they can divide the table into two sections, each having the same number of meatballs. You are to write a program to assist them.
At these catering events, each table seats 2 <= N <= 30 guests. Each guest orders at least one and at most nine meatballs. Each place at the table is numbered from 1 to N, with the host at position 1 and the host's spouse at position N. Sam always serves the host first then proceeds to serve guests in increasing order. Ella serves the spouse first, then serves guests in decreasing order. The figures illustrate the first two example input cases.
At these catering events, each table seats 2 <= N <= 30 guests. Each guest orders at least one and at most nine meatballs. Each place at the table is numbered from 1 to N, with the host at position 1 and the host's spouse at position N. Sam always serves the host first then proceeds to serve guests in increasing order. Ella serves the spouse first, then serves guests in decreasing order. The figures illustrate the first two example input cases.
Input
Input consists of one or more test cases. Each test case contains the number of guests N followed by meatballs ordered by each guest, from guest 1 to guest N. The end of the input is a line with a single zero.
Output
For each table, output a single line with the ending positions for Sam and Ella, or the sentence indicating an equal partitioning isn't possible. Use the exact formatting shown below.
Sample Input
5 9 4 2 8 35 3 9 4 2 86 1 2 1 2 1 26 1 2 1 2 1 10
Sample Output
Sam stops at position 2 and Ella stops at position 3.No equal partitioning.No equal partitioning.Sam stops at position 3 and Ella stops at position 4.
就是求当两个人按顺时针方向和按逆时针方向放置肉丸子后,当两个人肉丸子相等时所处的位置。
写了个O(n*n)的算法,囧。
import java.util.*;public class Main {//客人,客人的数目为2~30private int[] guests=new int[31];//客人的数目private int num;//清空public void init(){for(int i=0;i<=30;i++){guests[i]=0;}}//构造函数public Main(){Scanner scan=new Scanner(System.in);while((num=scan.nextInt())!=0){init();for(int i=1;i<=num;i++){guests[i]=scan.nextInt();}//Sam发送的肉丸子数int sum1=0;//Ella发送的肉丸子数int sum2=0;boolean tag=true;for(int i=1;i<num;i++){//i是Sam走的步数int m,n;sum1=0;sum2=0;for(m=1;m<=i;m++){sum1+=guests[m];}//System.out.println("m="+(m-1)+" sum1="+sum1);for(n=i+1;n<=num;n++){sum2+=guests[n];}//System.out.println("n="+(n-1)+" sum2="+sum2);if(sum1==sum2){System.out.println("Sam stops at position "+i+" and Ella stops at position "+(i+1)+".");tag=false;break;}}if(tag){System.out.println("No equal partitioning.");}}}public static void main(String[] args){Main mainf=new Main();}}
- POJ1247解题报告
- POJ1247解题报告
- POJ1247解题报告——我写的第一篇解题报告
- poj1247
- POJ1247
- poj1247
- poj1247
- POJ1247
- poj1247
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- Antiprime解题报告
- expr解题报告
- PHP中str_replace函数使用数组
- 一些常用的动态SQL
- eclipse个人常用插件更新地址
- win7连接双显示器
- Oracle数据库实现获取前几条数据的方法
- POJ1247解题报告
- SQL Server 2005中Query(查询)Date Time(日期时间)
- 线程----BlockingQueue
- 如何控制输入法软键盘的出现方式
- C# datetime 操作
- Lua mem 分析
- JBoss和JMS(转)
- SecurityError: Error #2148: SWF 文件 (SWF 文件不能访问本地资源)
- 刪除數據庫所有table的資料(一)