0分求调!(玄关n位)
查看原帖
0分求调!(玄关n位)
996790
yinzifan楼主2024/7/13 15:22
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int n,m,a[1005][1005],head[100005],ver[100005],nxt[100005],tot=0,d[1005],x[100005];
struct node{
	int x,y;
}h[100005];
bool cmp(node a,node b){
	return a.y>b.y;
}
void add(int x,int y){
	ver[++tot]=x;
	nxt[tot]=head[x]; 
	head[x]=tot;
}
int main()
{
	memset(head,-1,sizeof(head));
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>h[i].x>>h[i].y;
		a[h[i].x][h[i].y]=1;
		a[h[i].y][h[i].x]=1;
		d[h[i].x]++;
		d[h[i].y]++;
	}
	sort(h+1,h+n+1,cmp);
	for(int i=1;i<=m;i++){
		add(h[i].x,h[i].y);
		add(h[i].y,h[i].x);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	
	for(int i=1;i<=n;i++){
		cout<<d[i]<<" ";
		for(int j=head[i];j!=-1;j=nxt[j]){
			cout<<ver[j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

RT,求调

2024/7/13 15:22
加载中...