zoukankan      html  css  js  c++  java
  • cin 和scanf,scanf比cin快很多

    //#include <iostream>
    #include <stdio.h>
    //#include <fstream> 
    //using namespace std;
    #define MAXN 501
    #define INF 0x3fffff
    /*Accepted	676K	750MS*/
    /*528K	157MS*/
    //var
    int n;
    int num;
    int a[MAXN][MAXN];
    //fstream fin;
    //function
    void prim(int u);
    int main()
    {
       // fin.open("2485.txt",ios::in);
        int t;
        scanf("%d",&t);
        while(t--)
        {
              scanf("%d",&n);
              for(int i=0;i<n;i++)
                for(int j=0;j<n;j++)
                   scanf("%d",&a[i][j]);
        
                   
              num=0;
              //用prim算法计算最小生成树 
              prim(0);
              printf("%d
    ",num);
        }
        //system("pause");
        return 0;
    }
    
    void prim(int u)
    {
         int *lowset=new int[n]; //表示已经被选择的点到n个点的距离 
         bool *s=new bool[n];
         
         //初始化lowset和s
         for(int i=0;i<n;i++) 
         {
                 s[i]=false;
                 if(u!=i&&a[u][i])
                    lowset[i]=a[u][i];
                 else
                    lowset[i]=INF;
         }
         
         s[u]=true;
         int p;
         for(int i=0;i<n-1;i++)
         {
                 int min=INF;
                 for(int j=0;j<n;j++)
                 {
                     if(min>lowset[j]&&!s[j])
                     {
                             min=lowset[j];   
                             p=j;
                     } 
                 }
                 if(min>num)
                    num=min;
                 s[p]=true;
                 //更新lowset
                 for(int j=0;j<n;j++)
                 {
                         if(a[p][j]<lowset[j]&&!s[j])
                             lowset[j]=a[p][j];
                 } 
         }
         
         delete []lowset;
         delete []s;
    }
    


    同一个程序,用scanf输入只要157ms而用cin输入要700多ms。所以对于多数据输入时,用scanf

  • 相关阅读:
    课堂作业04 2017.10.27
    课程作业 03 动手动脑 2017.10.20
    课程作业 03 2017.10.20
    HDU 3974 Assign the task
    POJ 2155 Matrix
    POJ 2481 Cows
    HDU 3038 How Many Answers Are Wrong
    CS Academy Array Removal
    POJ_1330 Nearest Common Ancestors LCA
    CF Round 427 D. Palindromic characteristics
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3174591.html
Copyright © 2011-2022 走看看