Balance(P1837)
来源:互联网 发布:网络数据可视化 编辑:程序博客网 时间:2024/06/05 17:35
要好好用心体会啊,。
#include<iostream>#include<stdlib.h>#include<math.h>#include<stdio.h>#include<algorithm>#include<queue>#include<string.h>#include<stack>#include<math.h>#include<stdlib.h>#include<list>#include<vector>using namespace std;int balance[21][16005];int c,g;int wei[21];int heavy[30];int main(){ int i,j,k; cin>>c>>g; for (i=0;i<c;i++) cin>>wei[i]; for (i=0;i<g;i++) cin>>heavy[i]; memset(balance,0,sizeof(balance)); balance[0][8000]=1; for (k=0;k<g;k++) { for (i=0;i<16000;i++) { for (j=0;j<c;j++) { balance[k+1][i]+=balance[k][i+heavy[k]*wei[j]]; } } } cout<<balance[g][8000]<<endl;}#include<iostream>#include<stdlib.h>#include<math.h>#include<stdio.h>#include<algorithm>#include<queue>#include<string.h>#include<stack>#include<math.h>#include<stdlib.h>#include<list>#include<vector>using namespace std;int balance[21][16005];int c,g;int wei[21];int heavy[30];int main(){ int i,j,k; cin>>c>>g; for (i=0;i<c;i++) cin>>wei[i]; for (i=0;i<g;i++) cin>>heavy[i]; memset(balance,0,sizeof(balance)); balance[0][8000]=1; for (k=0;k<g;k++) { for (i=0;i<16000;i++) { for (j=0;j<c;j++) { balance[k+1][i]+=balance[k][i+heavy[k]*wei[j]]; } } } cout<<balance[g][8000]<<endl;}
Balance
Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 6518 Accepted: 3915
Description
Gigel has a strange "balance" and he wants to poise it. Actually, the device is different from any other ordinary balance.
It orders two arms of negligible weight and each arm's length is 15. Some hooks are attached to these arms and Gigel wants to hang up some weights from his collection of G weights (1 <= G <= 20) knowing that these weights have distinct values in the range 1..25. Gigel may droop any weight of any hook but he is forced to use all the weights.
Finally, Gigel managed to balance the device using the experience he gained at the National Olympiad in Informatics. Now he would like to know in how many ways the device can be balanced.
Knowing the repartition of the hooks and the set of the weights write a program that calculates the number of possibilities to balance the device.
It is guaranteed that will exist at least one solution for each test case at the evaluation.
It orders two arms of negligible weight and each arm's length is 15. Some hooks are attached to these arms and Gigel wants to hang up some weights from his collection of G weights (1 <= G <= 20) knowing that these weights have distinct values in the range 1..25. Gigel may droop any weight of any hook but he is forced to use all the weights.
Finally, Gigel managed to balance the device using the experience he gained at the National Olympiad in Informatics. Now he would like to know in how many ways the device can be balanced.
Knowing the repartition of the hooks and the set of the weights write a program that calculates the number of possibilities to balance the device.
It is guaranteed that will exist at least one solution for each test case at the evaluation.
Input
The input has the following structure:
• the first line contains the number C (2 <= C <= 20) and the number G (2 <= G <= 20);
• the next line contains C integer numbers (these numbers are also distinct and sorted in ascending order) in the range -15..15 representing the repartition of the hooks; each number represents the position relative to the center of the balance on the X axis (when no weights are attached the device is balanced and lined up to the X axis; the absolute value of the distances represents the distance between the hook and the balance center and the sign of the numbers determines the arm of the balance to which the hook is attached: '-' for the left arm and '+' for the right arm);
• on the next line there are G natural, distinct and sorted in ascending order numbers in the range 1..25 representing the weights' values.
• the first line contains the number C (2 <= C <= 20) and the number G (2 <= G <= 20);
• the next line contains C integer numbers (these numbers are also distinct and sorted in ascending order) in the range -15..15 representing the repartition of the hooks; each number represents the position relative to the center of the balance on the X axis (when no weights are attached the device is balanced and lined up to the X axis; the absolute value of the distances represents the distance between the hook and the balance center and the sign of the numbers determines the arm of the balance to which the hook is attached: '-' for the left arm and '+' for the right arm);
• on the next line there are G natural, distinct and sorted in ascending order numbers in the range 1..25 representing the weights' values.
Output
The output contains the number M representing the number of possibilities to poise the balance.
Sample Input
2 4-2 3 3 4 5 8
Sample Output
2
Source
- Balance(P1837)
- POJ P1837 Balance
- Balance
- balance
- Balance
- Parentheses Balance
- poj1837 Balance
- POJ1837 Balance
- poj1837 - Balance
- poj1837 Balance
- POJ1837--Balance
- poj1837 Balance
- CF17C Balance
- POJ1837 Balance
- POJ1837:Balance
- POJ1837 Balance
- poj1837 Balance
- Emoogle Balance
- 一个解决循环内界面假死的方法
- 老妈又去SZ了
- Google Code Jam Qualification Round 2012
- SNMP 必备工具 :snmptranslate
- Error executing cl.exe
- Balance(P1837)
- 5.windbg-示例网站
- 介绍一本书
- mips分支延迟槽及虚拟地址转换等问题
- db2总结
- 一步一步教你实现CTreeCtrl 自绘
- CentOS 6.2 使用第三方yum源安装更多rpm软件包以及centos系统的若干问题
- Metro 风格的软件界面欣赏
- 如何提高英语听力《听力方法》