社区讨论
10分求调
B3852出边排序 2参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mlw246q8
- 此快照首次捕获于
- 2026/02/21 16:28 2 周前
- 此快照最后确认于
- 2026/02/23 21:35 2 周前
亖亡记录
C++代码:
CPP#include <bits/stdc++.h>
using namespace std;
const int MAXN = 500001;
int T , n , m , u , v , sum[MAXN];
struct graph {
int num , ID , size;
}a[MAXN] , ans[MAXN][1000];
bool cmp(graph a , graph b) {
if (a.num == b.num) return a.ID < b.ID;
return a.num < b.num;
}
int main() {
scanf("%d" , &T);
for (int i = 1 ; i <= T ; i++) {
scanf("%d%d" , &n , &m);
for (int j = 1 ; j <= n ; j++) {
scanf("%d" , &a[j].num);
a[j].ID = j;
}
for (int j = 1 ; j <= m ; j++) {
scanf("%d%d" , &u , &v);
ans[u][++sum[u]].num = a[v].num;
ans[u][sum[u]].ID = v;
ans[u][0].size++;
}
for (int j = 1 ; j <= n ; j++) {
sort(ans[j] + 1 , ans[j] + ans[j][0].size + 1 , cmp);
}
for (int j = 1 ; j <= n ; j++) {
if (ans[j][1].ID == 0) {
printf("\n");
continue;
} else {
for (int k = 1 ; k <= ans[j][0].size ; k++) {
printf("%d " , ans[j][k].ID);
}
printf("\n");
}
}
}
return 0;
}
样例输出:
LATEX2 3
1 2
1 2 2 3 3
1 2 3
1 1 2 2 3
回复
共 0 条回复,欢迎继续交流。
正在加载回复...