gpt4 book ai didi

c++ - 如何生成不同对的不等号?

转载 作者:行者123 更新时间:2023-12-01 14:40:19 24 4
gpt4 key购买 nike

我想创建N个不同的对,并希望对中的数字不相等。配对中的数字范围为0到K-1。

vector<pair<int, int> > p;
pair<int, int> temp;
int N = 8;
int K = 7;
int c = 0;
for (int i = 0; i < N; i++) {
int f = random(0, K-1);
int s = random(0, K-1);
p.push_back({ f, s });
}
temp = p[c];
for (int i = 0; i < N; i++) {
if (temp != p[i]) {
c++;
}
else {
while (temp == p[i]) {
temp.first = random(0, K - 1);
}
c++;
}
}

我想要这样的数字对:
输出:
(0,4)
(0,3)
(1、2)
(1,4)
(1、5)
(2、3)
(5、3)
(5、4)

最佳答案

一种简单的方法:
将您的数字对放入std::set(这将消除重复项)。继续生成对,直到集合的.size()是所需的唯一对数量。

关于c++ - 如何生成不同对的不等号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58789934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com