Пример #1
0
int qrsort(int a[],int p,int r)
{
int q ;
if(p<r)
  {

   q = patti(a,p,r);
   qrsort(a,p,q-1);
   qrsort(a,q+1,r);}
}
Пример #2
0
void  qrsort( long long a[],int p,int r)
{
int q ;
if(p<r)
  {

   q = patti(a,p,r);
   qrsort(a,p,q-1);
   qrsort(a,q+1,r);}
}
Пример #3
0
int main()
{
     long long  a[3];
	int p,r,i,t;
	 long long k;
	scanf("%d",&t);
	while(t--){
    for (i=0;i<3;i++)
        scanf("%lld",&a[i]);
    qrsort(a,0,2);
     k=((((a[0]%MOD)*((a[1]-1)%MOD))%MOD)*((a[2]-2)%MOD))%MOD;
printf("%lld\n",k);
}
return 0;}
Пример #4
0
int main()
{
	int flag,t,j;
	scanf("%d",&t);
	char buff[size];
	int read;
	while(t--)
	{
			
		int  arr[100003]={0};
		int arr2[100005][2],arr3[100007],N,gg,M,i,k,c,s,f=1;
		scanf("%d%d",&N,&M);
		read =fread(buff,1,size,stdin);	
		for(i=0;i<read;i++)
		{
			if(arr[arr2[i][0]]||arr[arr2[i][1]])
			{
			if(arr[arr2[i][0]])
			arr[arr2[i][1]]=arr[arr2[i][0]];
			else
	        arr[arr2[i][0]]=arr[arr2[i][1]];
		    }
			else
			{arr[arr2[i][0]]=(i+1);
			arr[arr2[i][1]]=(i+1);			
		}
		}
		qrsort(arr,1,N);
		for(i=1;i<=N;i++)
		printf("%d ",arr[i]);
		k=1;
		c=1;
		flag=0;
		i=1;
		while(arr[i]==0)
		{
			arr3[f++]=1;
			i++;
		}	
		s=arr[i];
		for(i=i+1;i<=N;i++)
		{ 
		if(s==arr[i])
		{k++;
		flag=1;
		}
		else 
		{
		flag=0;
		arr3[f++]=k;
		}
		if(flag==0)
		{s=arr[i];
		k=1;
		}}
		arr3[f]=k;
		for(i=1;i<=f;i++)
	 {	 //printf("\n%d   ",arr3[i]);
	     c=c*arr3[i]%MOD;	
	}
		printf("%d %d\n",f,c);			
	}    
		   		return 0;
}