选择两个城市C++的可能性

Mdj*_*n26 0 c++ probability

我正在编制一个程序,其中列出了34个城市,我希望给这些城市中的每个城市一个被选中的概率.

所以我有:

vector<float> vec;
int s;
    cin >> s;
    srand(s);
    for (int k=0; k < 34; k++)
    {
    float p1= (float)rand()/(float)((unsigned)RAND_MAX+1);
    vec.push_back(p1);
    }
Run Code Online (Sandbox Code Playgroud)

这样就给了每个城市一个概率.我现在遇到的问题是我想做一个随机数生成器,它将选择其中两个城市.因此,例如city1将有5%,city2为2%,city3,3%等.我如何根据给定的概率随机选择其中两个城市?

Rut*_*raj 5

我在遗传算法中做到了这一点.为您的城市考虑10个单位的线.现在从0-5单位在线,city1 6-7为city2,8-9为city3.现在从0-9随机选择一个数字.并发现它在哪个城市范围内.