求助求助!
查看原帖
求助求助!
520952
mingxxx9楼主2022/2/13 18:19
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

public class Main {
   static int n,m,x,y,ans;
   static int[] fa =new int[1010];  static int[] enermy =new int[1010];
   static int find(int x){
      if (x==fa[x]) return x;
      else return fa[x]=find(fa[x]);
   }
   public static void main(String[] args) throws IOException {
      StreamTokenizer in =new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
       in.nextToken();n=(int)in.nval; in.nextToken();m=(int)in.nval;ans=0;
       for (int i=1;i<=n;i++) fa[i]=i;
       String judge;
       for (int i=1;i<=m;i++){
           in.nextToken();judge=in.sval;
           in.nextToken();x=(int)in.nval; in.nextToken();y=(int)in.nval;
           if (judge.equals("F")){
                     if (find(x)!=find(y)) fa[find(x)]=find(y);
           }
      else {
               if (enermy[x] == 0) enermy[x] = y;
               else fa[find(enermy[x])] = find(y);
               if (enermy[y] == 0) enermy[y] = x;
               else fa[find(enermy[y])] = find(x);
           }

           }

       for (int i=1;i<=n;i++){
           if (fa[i]==i) ans++;
       }
       System.out.println(ans);


    }}

代码是AC的但是在数据 5 5 F 1 2 F 2 3 F 1 4 F 1 5 E 4 5 输出1,但是4和5不是敌人吗?为什么可以分在一组

2022/2/13 18:19
加载中...