4 条题解

  • 0
    @ 2024-5-19 17:29:26
    #include <bits/stdc++.h>
    using namespace std; 
    bool a[20][20];
    int n,e,x,y,h,t;
    bool f[20];
    int q[20];
    void bfs(int x){
    	h=t=1;
    	q[h]=x;
    	f[x]=true;//±ê¼ÇÒѾ­·ÃÎʹýÁË 
    	cout<<x<<" ";
    	while(h<=t){
    		//ÕÒÍ·Ö¸ÕëhÖ¸ÏòµÄµãµÄÁÚ½Óµã 
    		for(int i=1;i<=n;i++){
    			//1.´Óq¡¾h¡¿³ö·¢µÄ
    			//2.f¡¾i¡¿==false 
    			if(a[q[h]][i]==1&&!f[i]){
    				t++;
    				q[t]=i;
    				f[i]=true;
    				cout<<i<<" ";
    			}
    		}
    		h++;
    	}
    }
    int main() {
    	cin>>n>>e;
    	for(int i=1;i<=e;i++){
    		cin>>x>>y;
    		a[x][y]=1;
    		a[y][x]=1;
    	}
    	bfs(1);
    	return 0;
    } 
    
    • 0
      @ 2024-2-21 21:40:44
      #include <bits/stdc++.h>
      using namespace std;
      int n,e,a[20][20];
      bool f[20];
      queue<int>q;
      int main(){
      	cin>>n>>e;
      	int x,y;
      	for (int i=1;i<=e;i++){
      		cin>>x>>y;
      		a[x][y]=1;
      		a[y][x]=1;
      	}
      	q.push(1);
      	f[1]=true;
      	cout<<1<<" ";
      	while(q.size()){
      		for (int i=1;i<=n;i++){
      			if (a[q.front()][i]&&!f[i]){
      				cout<<i<<" ";
      				q.push(i);
      				f[i]=true;
      			}
      		}
      		q.pop();
      	}
      	return 0;
      }
      
      • 0
        @ 2022-4-19 22:44:19

        严禁抄题解,发现后取消成绩

        • 0
          @ 2022-4-1 20:00:44
          
          #include<bits/stdc++.h>
          using namespace std;
          int n,m,u,v;
          vector<int> e[15];
          bool vis[15];
          /*
          邻接表 
          查询是否存在某条边:O(m)。
          遍历一个点的所有出边:O(m)。
          遍历整张图:O(nm)。
          空间复杂度:O(m)。
          */
          queue<int> q;
          void bfs(int u)
          {
          	vis[u]=true;
          	q.push(u);
          	while(q.size()>0)
          	{
          		int now=q.front();
          		cout<<now<<" ";
          		q.pop();
          		for(int i=0;i<e[now].size();i++)
          		{
          			int v=e[now][i];
          			if(!vis[v])
          			{
          				q.push(v);
          				vis[v]=true;
          			}
          		}
          	}
          }
          int main() 
          {
          	ios::sync_with_stdio(false);
          	cin.tie(0);
          	cin>>n>>m;
          	for(int i=1;i<=m;i++)
          	{
          		cin>>u>>v;
          		e[u].push_back(v);
          		e[v].push_back(u);
          	}
          	for(int i=1;i<=n;i++)
          	{
          		sort(e[i].begin(),e[i].end());
          	}
          	bfs(1);
            	return 0;
          }
          • 1

          信息

          ID
          1049
          时间
          1000ms
          内存
          128MiB
          难度
          2
          标签
          递交数
          25
          已通过
          21
          上传者