poj1032Parliament
来源:互联网 发布:淘宝实人认证在哪里 编辑:程序博客网 时间:2024/06/03 21:39
Parliament
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 19228 Accepted: 8142
Description
New convocation of The Fool Land's Parliament consists of N delegates. According to the present regulation delegates should be divided into disjoint groups of different sizes and every day each group has to send one delegate to the conciliatory committee. The composition of the conciliatory committee should be different each day. The Parliament works only while this can be accomplished.
You are to write a program that will determine how many delegates should contain each group in order for Parliament to work as long as possible.
You are to write a program that will determine how many delegates should contain each group in order for Parliament to work as long as possible.
Input
The input file contains a single integer N (5<=N<=1000 ).
Output
Write to the output file the sizes of groups that allow the Parliament to work for the maximal possible time. These sizes should be printed on a single line in ascending order and should be separated by spaces.
Sample Input
7
Sample Output
3 4
思路:要想分的数乘积最大,就得使N=2+3+..+(n-1)+x;然后再将x平分到2到n-1上,这样就会最大。
代码:
#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>using namespace std;#define Pi 3.14159265int a[1005];int main(){ int N; while(cin>>N) { int i; int sum=0; int k=0; for(i=2;;i++) { sum+=i; if(sum>N) { sum-=i; break; } a[k++]=i; } int x=(N-sum)/k; int y=(N-sum)%k; for(i=0;i<x;i++) { for(int j=0;j<k;j++) { a[j]++; } } for(i=k-1;;i--) {if(y==0)break; a[i]++; y--; } for(i=0;i<k;i++) { if(i==k-1)cout<<a[i]<<endl; else cout<<a[i]<<' '; } } return 0;}
阅读全文
0 0
- poj1032Parliament
- C语言题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
- POJ 1852 ants
- 会声会影X8 一打开就提示Corel VideoStudio 已停止工作的解决办法
- 随机森林
- Struts2 Day 05 : 运行流程、自定义拦截器、上传下载、表单重复提交、输入验证
- poj1032Parliament
- 进程与线程的联系和区别
- 机器学习入门笔记:(4.3)SMO算法
- 设计模式之禅——观察者模式
- 独轮车广搜解法
- 网易云音乐缓存音乐/视频文件的解密操作
- android matrix 详解
- 二进制
- mail from address must be same as authorization user