• poj 2531 Network Saboteur


    #include <iostream>
    using namespace std;
    int n,m, a[10];
    void  DFS(int k)
    {   if  (k>n) 
        {  for (int i=1; i<=n; i++)     
           
           cout<<a[i]<<" ";
           cout<<endl;   
        }
        else 
           for (int i=0; i<=1; i++)   
           {    a[k]=i;    DFS(k+1);      }
    }
    int main()
    {        cin>>n;         DFS(1);    return 0;       }
    View Code

    #include <iostream>
    using namespace std;
    #define N  20
    int b[N],t,n;
    
    int main(int argc, char *argv[])
    {
        int x,i,t;
        cin>>n;
    
        for (x=0;x<=(1<<n)-1;x++)
        {
            t=x;
            for (i=0;i<n;i++)        {   b[i]=t%2 ;t/=2; }
    
    
    
            for (i=0;i<n;i++)
                cout<<b[i]<<" ";
            cout<<endl;
    
    
    
        }
    
    
    
        return 0;
    }
    View Code

    #include <iostream>

    using namespace std;

    #define N  20 int b[N],t,n;

    int main(int argc, char *argv[])

    {     int x,i,t;    

    cin>>n;

        for (x=0;x<=(1<<n)-1;x++)  

       {         t=x;   

          for (i=0;i<n;i++)        {   b[i]=t%2 ;t/=2; }

            for (i=0;i<n;i++)

                cout<<b[i]<<" ";         cout<<endl;

        }

        return 0;

    }

    #include <iostream>
    using namespace std;
    #define N  20
    int g[N][N],b[N],t,n;
    void input()
    {
    int i,j,f,t;
    cin>>n;
    for(i=0;i<n;i++)
     for(j=0;j<n;j++)
     cin>>g[i][j];    
    }
    int main(int argc, char *argv[])
    {
        int x,i,j,t,ans,sum;
        input();
        ans=0;
        for(x=0;x<=(1<<n)/2;x++)
        { t=x;
        for(i=0;i<n;i++)      { b[i]=t%2 ; t/=2;    }
                for(i=0;i<n;i++)
                sum=0;
                for(i=0;i<n-1;i++)
                 for(j=i+1;j<n;j++)
                   if(b[i]!=b[j])  sum +=g[i][j];
                   if(sum>ans)  ans=sum;
                
        }
        //for(i=0;i<n;i++)
    //      cout<<b[i]<<" ";
    //      cout<<endl;
    
    
          cout<<ans<<" ";
          cout<<endl;
    
    
    
        
        return 0;
    }
    View Code

    #include <iostream>

    using namespace std;

    #define N  20

    int g[N][N],b[N],t,n;

    void input()

    {     int i,j,f,t;

    cin>>n;

    for(i=0;i<n;i++)

     for(j=0;j<n;j++)

     cin>>g[i][j]; 

    }

    int main(int argc, char *argv[])

    {

     int x,i,j,t,ans,sum;

     input();

     ans=0;

     for(x=0;x<=(1<<n)/2;x++)

     {     t=x;

     for(i=0;i<n;i++)       { b[i]=t%2 ; t/=2; }  

      for(i=0;i<n;i++)    sum=0;

       for(i=0;i<n-1;i++)

        for(j=i+1;j<n;j++)

          if(b[i]!=b[j])  sum +=g[i][j];

          if(sum>ans)  ans=sum;

         }

      

       cout<<ans<<" ";    cout<<endl;

       return 0;

    }

  • 相关阅读:
    (转)分布式系统原理
    Java常用排序
    19.Java5同步集合类的应用
    18.Java5阻塞队列的应用
    17.Java5的Exchanger同步工具
    16.Java5的CountDownLatch同步工具
    15.Java5的CyclicBarrier同步工具
    14.Java5的Semaphere同步工具
    13.Java5条件阻塞Condition的应用
    Docker部署JavaWeb项目实战
  • 原文地址:https://www.cnblogs.com/2014acm/p/3894270.html
Copyright © 2020-2023  润新知