为什么RE了???

图的类型

题目ID:8251必做题100分

最新提交:

Runtime Error

0 分

历史最高:

Wrong Answer

30 分

时间限制: 1000ms

空间限制: 131072kB

题目描述

时间:1s 空间:128M

题目描述:

在知道了图是什么样子之后,我们还需要知道图有哪些类型。

比赛中常常出现的图的类型有:

  • 菊花图(即所有点都只和同一个点相连);
  • 链图(即所有点形成了一条链);
  • 简单环(即所有点连成了一个环)。

给出一张无向连通图,没有重边和自环,判断这张图是否是一个链图、简单环或者是菊花图,或者什么都不是。

输入格式:

第一行包含两个正整数 NN 和 MM,表示有 NN 个点,MM 条边。

接下来 MM 行每行包含两个用空格隔开的正整数 u,vu,v,表示一条从 uu 到 vv 的无向路径。

输出格式:

如果是菊花图,则输出 FlowerFlower;如果是链,则输出 ChainChain;如果是简单环,则输出 RingRing;否则输出NeitherNeither。

样例输入:

4 3
1 2
3 4
2 3

样例输出:

Chain

约定:

4≤N,M≤1064≤N,M≤106

我的代码:

#include<bits/stdc++.h>
using namespace std;
vector<int>a[100005];
int main(){
  int n,m,x,y;
  int aa=0,b=0,c=0;
  cin>>n>>m;
  for(int i=1;i<=m;i++){
    cin>>x>>y;
    a[x].push_back(y);
    a[y].push_back(x);
  }
  for(int i=1;i<=n;i++){
    if(a[i].size()==1){
      aa++;
    }
    if(a[i].size()==2){
      b++;
    }
    if(a[i].size()==n-1){
      c++;
    }
  }
  if(aa==n-1&&c==1){
    cout<<"Flower";
  }else if(b==n){
    cout<<"Ring";
  }else if(aa==2&&b==n-2){
    cout<<"Chain";
  }else{
    cout<<"Neither";
  }
  return 0;
}

已解决

6。不要给自己解决方案