4 条题解

  • 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
          @ 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;
          } 
          
          • 1

          信息

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