[语言月赛 202408] 蓝色的网易云
题目背景
你也在听吗
落单的孩子啊
别害怕 别害怕
黑夜不会太长
悬崖上的花
让我为你摘下
数一瓣 落一瓣
就少一朵忧伤
题目描述
风的歌单中共有 n n n 首歌,这些歌曲可以根据题材分为 m m m 类,第 i i i 首歌的题材为 c i c_i ci。风并不偏好任何一种题材,因此歌单中各题材的歌曲数量相同。
现在,请你给出一个歌曲播放顺序,使得相邻播放的歌曲题材不相同。
输入格式
第一行为两个整数 n , m n,m n,m。
第二行为 n n n 个整数,第 i i i 个为 c i c_i ci。
输出格式
输出 n n n 行,每行一个整数,从上至下表示歌曲播放顺序。
符合题意的答案可能有多种,你只需要输出其中任意一种即可。
样例 #1
样例输入 #1
6 3
1 1 2 2 3 3
样例输出 #1
1
3
5
2
4
6
提示
对于
30
%
30\%
30% 的测试数据,
n
=
m
n=m
n=m;
对于
100
%
100\%
100% 的测试数据,
1
≤
n
≤
1
0
3
1 \le n \le 10^3
1≤n≤103,
2
≤
m
≤
1
0
3
2 \le m \le 10^3
2≤m≤103,
n
n
n 是
m
m
m 的倍数,
1
≤
c
i
≤
m
1 \le c_i \le m
1≤ci≤m。
#include <bits/stdc++.h>
using namespace std;
int n,m,num;
int c[1005][1005];
int main() {
scanf("%d %d",&n,&m);
num=n;
for(int i=0; i<n; i++) {
int ind;
scanf("%d",&ind);
c[ind][i]++;
}
while(num) {
int ij=0;
for(int i=0; i<n; i++) {
for(int j=1; j<=m; j++) {
if(c[j][i]&&ij!=j) {
printf("%d",i+1);
puts("");
c[j][i]--;
num--;
ij=j;
}
}
}
}
return 0;
}
标签:月赛,网易,le,int,样例,ci,num,歌曲,202408
From: https://blog.csdn.net/DXCcn/article/details/142315791