没有一个颜色的个数能超过n/2,否则就没有解了。
把所有珠子摊在一条直线上,i 和 i+n/2 的配对,就一定是解了。
#include <iostream>
using namespace std;
int num[100001];
int main() {
int n, c;
cin >> n >> c;
int index = 1;
for (int i = 1; i <= c; i++) {
int x;
cin >> x;
while (x--) {
num[index++] = i;
}
}
for(int i = 1;i <= n/2; i++) {
cout << num[i] << ' ' << num[i+n/2] << endl;
}
return 0;
}
网友评论