也不知道比赛的时候是怎么想的
写出了这段惊天代码
#include <bits/stdc++.h>
using namespace std;
int n, m, a, ans;
queue <int> q[1005];
int main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; ++i) {
scanf("%d", &a);
q[a].push(i);
}
int i = 1;
while (ans < n) {
if (q[i].empty()) {
++i;
if (i > m) i = 1;
continue;
}
printf("%d\n", q[i].front());
q[i].pop();
++ans;
++i;
if (i > m) i = 1;
}
return 0;
}
而我的代码很容易就想到一个漏洞
比如输入
5 3
1 1 1 2 3
时
正常输出应该是
1 4 2 5 3
而我的程序会输出
1 4 5 2 3
而就是这段明显不对的代码
却AC了。。。
请求加强数据