usaco humble Numbers

来源:互联网 发布:网络剧受众群体. 编辑:程序博客网 时间:2024/05/16 15:37

hehe......

这道题目不得不说很经典!竟害我想了一下午!

这次不想写注释了,呵呵。。。

代码如下:

/* ID: guo geer PROG: humbleLANG: C++ */  #include<iostream>#include<fstream>using namespace std;const int N = 100000;int number[N];int prime[100], p[100];int main(){ifstream fin("humble.in");ofstream fout("humble.out");int i,j;int k,n;while(fin>>k>>n){for(i=0; i<k; i++)fin>>prime[i];j = 0;for(i=1; i<k; i++)if(prime[i] < prime[j])j = i;for(i=0; i<k; i++)p[i] = -1;number[0] = prime[j];p[j] = 0;for(i=1; i<n; i++){int m = 2000000000;for(j=0; j<k; j++)if(p[j] == -1 && m > prime[j])m = prime[j];else if(p[j] != -1 && m > number[p[j]]*prime[j])m = number[p[j]]*prime[j];for(j=0; j<k; j++)if(p[j] == -1 && m == prime[j])p[j] ++;else if(p[j] != -1 && m == number[p[j]]*prime[j])p[j] ++;number[i] = m;}fout<<number[n-1]<<endl;}return 0;}


原创粉丝点击