蒟蒻求调
  • 板块灌水区
  • 楼主Jerry_heng
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/1/2 20:15
  • 上次更新2023/10/24 05:46:48
查看原帖
蒟蒻求调
763878
Jerry_heng楼主2023/1/2 20:15

题目

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int x,y,tim;
int sum[100001];
bool pd[100001];
int main(){
	while(cin>>x>>y){
		if(x==-1&&y==-1)return 0;
		tim++;
		if(x==0&&y==0){
			cout<<"Case "<<tim<<" is a tree."<<endl;
			continue;
		}
		int rot=0;
		bool b=0;
		memset(pd,0,sizeof(pd));
		memset(sum,0,sizeof(sum));
		pd[x]=1,pd[y]=1;
		sum[y]++;
		while(cin>>x>>y){
			if(x==0&&y==0)break;
			pd[x]=1,pd[y]=1;
			sum[y]++;
		}
		for(int i=1;i<=100000;i++){
			if(!pd[i])continue;
			if(sum[i]>1){
				b=1;
				break;
			}
			if(sum[i]==0)rot++;
		}
		if(rot!=1||b)cout<<"Case "<<tim<<" is not a tree."<<endl;
		else cout<<"Case "<<tim<<" is a tree."<<endl;
	}
}
2023/1/2 20:15
加载中...