简单石子合并
来源:互联网 发布:电子合成器软件 编辑:程序博客网 时间:2024/05/16 01:54
求N对石子可以合并出的所有质量
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("in.txt");
ofstream out("out.txt");
int i_count;
#define max 1000//最多堆数
int i,j,sum;
int num[max-1];
bool f[max-1];//f[i]表示i重可否取到
void work1();//求出合并所有可能得到的重量
int main()
{
sum=0;
in >> i_count;
for (i=0;i<i_count;i++)
{
in >> num[i];
sum+=num[i];
}//end for
work1();
system ("pause");
}
void work1()
{
f[0]=true;
for(j=0;j<i_count;j++)
{
for(i=sum-num[j];i>=0;--i)
{
f[i+num[j]]=true;
}//end for i
}//end for j
for (i=0;i<=sum;++i)
{
if (f[i]==true) out << i<< endl;
}//end for
return;
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("in.txt");
ofstream out("out.txt");
int i_count;
#define max 1000//最多堆数
int i,j,sum;
int num[max-1];
bool f[max-1];//f[i]表示i重可否取到
void work1();//求出合并所有可能得到的重量
int main()
{
sum=0;
in >> i_count;
for (i=0;i<i_count;i++)
{
in >> num[i];
sum+=num[i];
}//end for
work1();
system ("pause");
}
void work1()
{
f[0]=true;
for(j=0;j<i_count;j++)
{
for(i=sum-num[j];i>=0;--i)
{
f[i+num[j]]=true;
}//end for i
}//end for j
for (i=0;i<=sum;++i)
{
if (f[i]==true) out << i<< endl;
}//end for
return;
}
- 简单石子合并
- 石子-石子合并
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 【石子合并】
- 合并石子
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 石子合并
- 合并石子
- 石子合并
- Jini技术常见问题解答
- JBuilder Editor中光标不能正确定位问题的解决
- 利用Oracle自带的连接池类的一例
- Borland获得Java Just-In-Time编译程序的专利权
- jsp、servlet关于中文问题再谈
- 简单石子合并
- 批判性地看待一种可行的表示技术:JavaServerPages se
- 如何快速的发展出吻合Java 2 platform Enterprise Edi
- 用Java实现多线程服务器程序
- 麻将的必胜法
- 编写跨平台Java程序注意事项
- DirectFB几个辅助工具
- Java牢骚之我见(转载)
- java的网络功能与编程