zoukankan      html  css  js  c++  java
  • 跑数据模板

    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;
    }
    

      

  • 相关阅读:
    Android.InstallDevelopmentEvn
    iOS.KVC.setValue:forKey:
    Business.Startup.Learning from Startup Mistakes at SpringSource
    职场.打造你自己的程序员品牌
    iOS.OpenSource.PopularProject
    iOS.Animation.CAMediaTiming
    Python.SQLAlchemy.1
    OpenSource.SerializationLibrary
    Python.SourceCodeSearchEngine
    iOS.WWDC
  • 原文地址:https://www.cnblogs.com/mybing/p/13450771.html
Copyright © 2011-2022 走看看