• 跑数据模板


    makedata

    # include<bits/stdc++.h>
    
    using namespace std;
    
    const bool flag=false; //默认无权树  
    
    const int N_[30]={0,10,10,100,1000,10,1000,10,1000,50,1000,10000,50000,100000,100000,100000,100000,100000,100000,100000,100000};
    const int M_[30]={0,10,10,20,20,20,100,100,100,500,500,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000};
    bool f[110000]={};
    int Rint()
    {
      return  (rand()|(long long)rand()<<15)%1000000;
    }
    //data_maker
    int ans_[129],temp=0; 
    
    
    int n;
    void MKNtree(int id)
    {
    
    	for (int i=2;i<=n;i++)
    	 if (!flag) cout<<i<<' '<<Rint()%(i-1)+1<<endl;
         else cout<<i<<' '<<Rint()%(i-1)+1<<' '<<Rint()%M_[id]<<endl;
    }
    
    struct  node
    {
    	int id,num;
    	
    } Num[1001000];
    bool mycmp(node x, node y)
    {
    	return x.num<y.num;
    }
    void Mpermu(int n)
    {
        memset(Num,0,sizeof(Num));
    	for (int i=1;i<=n;i++)  Num[i].id=i,Num[i].num=Rint();
        sort(Num+1,Num+n+1,mycmp);
    }
    void Mline(int id)
    {
    
    	memset(Num,0,sizeof(Num));
    	Mpermu(n);
    	for (int i=1;i<n;i++)
    	if (!flag)	cout<<Num[i].id<<' '<<Num[i+1].id<<endl;
    	
    	else  cout<<Num[i].id<<' '<<Num[i+1].id<<' '<<Rint()%M_[id]<<endl;	
    	
    }
    void Mchry(int id)
    {
    
    	int root=Rint()%n+1;
    	for (int i=1;i<=n;i++)
    	  if (i!=root)
    			if (!flag)  cout<<i<<' '<<root<<endl;  
    		    else    cout<<i<<' '<<root<<' '<<Rint()%M_[id]<<endl;  
    }
    void Mtara(int id)
    {
    
    	int T=n/2;
    	Mpermu(T);
    	for (int i=1;i<T;i++)
    	if (!flag)	cout<<Num[i].id<<' '<<Num[i+1].id<<endl;	
    	else  cout<<Num[i].id<<' '<<Num[i+1].id<<' '<<Rint()%M_[id]<<endl;	
       int  root=Num[1].id; 	
    	for (int i=T+1;i<=n;i++)
    			if (!flag)  cout<<i<<' '<<root<<endl;  
    		    else    cout<<i<<' '<<root<<' '<<Rint()%M_[id]<<endl;  		
    	
    }
    void work(int id)
    {
    	n=N_[id];
    	cout<<n<<endl;
    	cout<<Rint()%n+1;
    	for (int i=2;i<=n;i++) cout<<' '<<Rint()%n+1; 
    	cout<<endl;
    	if( (id<=4) ||(id >=11)&& id<=14)  MKNtree(id);  
    	//涓€鑸�殑鏍?
    	if( (id>=5 && id<=6) ||(id >=15)&& id<=16) Mline(id);
    	//閾?
        if( (id>=7 && id<=8) ||(id >=17)&& id<=18) Mchry(id);
    	//鑿婅姳鍥?
    	 if( (id>=9 && id<=10) ||(id >=19))  Mtara(id);
    	 //钂插叕鑻?
    }
    int a[110];
    
    
    char order[110];
    int main()
    {
       	 srand( (int)time( NULL ) );  
    		for(int _index=1;_index<=20;_index++)
    		{
    			sprintf(order,"tree%d.in",_index);
    			freopen(order,"w",stdout);
    			work(_index);
    			fclose(stdout);
    
    		}	
    	return 0;
    }
    

      

  • 相关阅读:
    Vue 静态资源文件下载 以pdf为例
    高德地图POI搜索
    矩阵转置(二维列表行列互换)
    列表动态填加元素
    关于判断值为None的处理
    第2章 小程序项目结构配置
    Python 基础编码风格
    Visual Studio — 模块计算机类型“x64”与目标计算机类型“x86”冲突
    Visual Studio — 无法解析的外部符号的几种可能
    Visual Studio — 包含目录、附加包含目录、库目录、附加库目录、附加依赖项之详解
  • 原文地址:https://www.cnblogs.com/mybing/p/13450771.html
Copyright © 2020-2023  润新知