#include<bits/stdc++.h>
using namespace std;
const int N=1e5;
int n,m,k;
int w[N];
bool cmp(int x,int y)
{
return x>y;
}
vector<int> g[N];//二维
int main()
{
int i,j;
cin>>n>>m>>k;
for(int i=2;i<=n;i++) cin>>w[i];
for(int i=1;i<=m;i++)
{
int u,v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);//双向建边
}
for(int i=1;i<=n;i++)
{
sort(g[i].begin() ,g[i].end() ,cmp);//从大到小 边排序
cout<<i<<":"<<endl;
/*
for(vector<int>::iterator j=g[i].begin() ;j!=g[i].end() ;j++)
{
//g[i].begin() 和 g[i].end()均为位置
cout<<*j<<" ";
}
cout<<endl;
*/
for(auto j:g[i])
{
cout<<j<<" ";
}
cout<<endl;
}
return 0;
}
auto: 自动识别后面的变量是什么类型
vector 定义时 g为一维数组 g[ ] 为二维数组