QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#758947#9525. Welcome to Join the Online Meeting!LblML 0ms0kbC++141.5kb2024-11-17 20:36:542024-11-17 20:36:55

Judging History

This is the latest submission verdict.

  • [2024-11-17 20:36:55]
  • Judged
  • Verdict: ML
  • Time: 0ms
  • Memory: 0kb
  • [2024-11-17 20:36:54]
  • Submitted

answer

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;	
int n,m,k;
int s,s0;
struct {
	int from,to,next;
	}a[200005];
	int b[200005]={0};
	int head[200005]={0};
int	v[200005]={0};
int v1[200005]={0};
int  v2[20005][20005]={0};
int v3[200005]={0};
	void dfs(int e){
		for(int j=head[e];j>0;j=a[j].next){
				int t=a[j].to;
				if(v[t]==0){
					v1[e]++;
				//	printf("%d\n",t);
				v2[e][v1[e]]=t;
					v[t]=1;
					dfs(t);
				}
		}
	}
int main(){

	scanf("%d %d %d",&n,&m,&k);
	int c;
	for(int i=1;i<=k;i++){
		scanf("%d",&c);
		b[c]=1;
	}
	int g,h;
	int f=1;
	for(int i=1;i<=m;i++){
		scanf("%d %d",&g,&h);
		if(b[i]==0){
			a[f].from=g;
			a[f].to=h;
			a[f].next=head[g];
			head[g]=f;
			f++;
		}
	 if(b[h]==0){
				a[f].from=h;
			a[f].to=g;
			a[f].next=head[h];
			head[h]=f;
			f++;
		}
	}
	int l=0;
		for(int i=1;i<=n;i++)
		{
			if(b[i]==0){
				memset(v,0,sizeof(v));
					memset(v1,0,sizeof(v1));	
					memset(v2,0,sizeof(v2));	
					memset(v3,0,sizeof(v3));	
				v[i]=1;
				s=0;
				dfs(i);
				s0=0;
				for(int i=1;i<=n;i++){
				if(v[i]==1)
				{
				s++;
				}
				if(v1[i]>=1){
					s0++;
					v3[s0]=i;
				}
				}
				if(s==n){
					printf("Yes\n");
					printf("%d\n",s0);
					for(int i=1;i<=s0;i++){
						printf("%d %d ",v3[i],v1[v3[i]]);
						for(int j=1;j<=v1[v3[i]];j++){
							printf("%d ",v2[i][j]);
						}
						printf("\n");
					}
					l=1;
					break;
				}
			}
		}
		if(l==0){
			printf("No\n");
		}
	return 0;
}

详细

Test #1:

score: 0
Memory Limit Exceeded

input:

4 5 2
3 4
1 2
1 3
2 3
3 4
2 4

output:

Yes
2
1 2 3 2 
2 1 4 

result: