求改
  • 板块灌水区
  • 楼主Xiaonanu
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/6/10 16:07
  • 上次更新2023/10/23 13:29:00
查看原帖
求改
631943
Xiaonanu楼主2023/6/10 16:07

题目:

题目描述
给出一个 
�
n 个结点 
�
m 条边的无向图,结点编号为 
1
∼
�
1∼n 。问与结点 
�
u 相连的结点都有哪些?(这里的相连指的是相邻,也就是有一条边直接连接)

输入格式
第一行包含 
2
2 个正整数 
�
,
 
�
n, m ,分别为图的结点数和边数。

接下来 
�
m 行,每行 
2
2 个正整数 
�
,
 
�
x, y,表示有一条边连接着结点 
�
x 和 
�
y ,输入数据保证没有重边,但可能有自环。

接下来一行输入一个正整数 
�
u 。

输出格式
按照从小到大的顺序输出所有与 
�
u 相连的结点。如果 
�
u 有自环,则 
�
u 也要输出。如果没有结点与 
�
u 相连,输出 "NULL" (不包含引号)。

输入输出样例
输入 #1复制
4 3
1 3
1 2
4 3
1
输出 #1复制
2 3
输入 #2复制
2 1
1 1
2
输出 #2复制
NULL
说明/提示
对于 
20
%
20% 的数据,
1
≤
�
≤
100
,
 
0
≤
�
≤
1000
1≤n≤100, 0≤m≤1000 ;

对于 
60
%
60% 的数据,
1
≤
�
≤
1000
,
 
0
≤
�
≤
10000
1≤n≤1000, 0≤m≤10000 ;

对于 
100
%
100% 的数据,
1
≤
�
≤
10000
,
 
0
≤
�
≤
100000
,
 
1
≤
�
,
�
,
�
≤
�
1≤n≤10000, 0≤m≤100000, 1≤x,y,u≤n 。

我的代码:

#include<bits/stdc++.h>
#define ll long long
struct edge
{
	int a,b;
	void input()
	{
		if(a<b)
		{
			a=a+b;
			b=a-b;
			a=a-b;
		}
	}
}e[100005];
using namespace std;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>e[i].a>>e[i].b;
		e[i].input();
	}
	cin>>k;
	for(int i=1;i<=m;i++)
	{
		if(e[i].a==k)
		{
	ll n,m,k;
	bool null=1;
			null=0;
			cout<<e[i].b<<" ";
		}
	}
	if(null)
	{
		cout<<"NULL";
	}
	return 0;
}

2023/6/10 16:07
加载中...