#4211: 有哪裡可以改掉讓時間變快?


popular10347 (ICPC// 哪時能唸到高等演算法T^T)

學校 : 元智大學
編號 : 11351
來源 : [1.169.118.99]
最後登入時間 :
2012-10-29 00:22:54
c074. 00441 - Lotto -- UVa441 | From: [122.116.13.123] | 發表日期 : 2010-09-06 20:24

 以下是我的程式碼,我的執行時間實在太慢了Q_Q

想請教高手除了用迴圈還可以用哪些來讓時間變短??

謝謝!!

 

#include<iostream>
using namespace std;

int main()
{
    int n;

    while(cin >> n)
   {
       int number[14];

       for(int i=0;i<n;i++)
           cin >> number[i];

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

           for(int j=i+1;j<n;j++)
          {
                for(int k=j+1;k<n;k++)
               {
                    for(int l=k+1;l<n;l++)
                   {
                        for(int m=l+1;m<n;m++)
                       {
                            for(int o=m+1;o<n;o++)
                                  cout << number[i] << " " << number[j] << " " << number[k] << " " << number[l] << " "                                    <<   number[m] << " " << number[o] << endl;
         

                         }
                    

                    }
                }
           }
      }
   
    }

      return 0;
}

 
#4212: Re:有哪裡可以改掉讓時間變快?


leopan0922 (zz)

學校 : 臺北市立成功高級中學
編號 : 6612
來源 : [140.113.225.106]
最後登入時間 :
2016-08-15 15:44:07
c074. 00441 - Lotto -- UVa441 | From: [219.70.171.51] | 發表日期 : 2010-09-06 20:29

 以下是我的程式碼,我的執行時間實在太慢了Q_Q

想請教高手除了用迴圈還可以用哪些來讓時間變短??

謝謝!!

 

#include
using namespace std;

int main()
{
    int n;

    while(cin >> n)
   {
       int number[14];

       for(int i=0;i
           cin >> number[i];

       for(int i=0;i
      {

           for(int j=i+1;j
          {
                for(int k=j+1;k
               {
                    for(int l=k+1;l
                   {
                        for(int m=l+1;m
                       {
                            for(int o=m+1;o
                                  cout << number[i] << " " << number[j] << " " << number[k] << " " << number[l] << " "                                    <<   number[m] << " " << number[o] << endl;
         

                         }
                    

                    }
                }
           }
      }
   
    }

      return 0;
}

我好像用DFS解的..忘了
 
#4213: Re:有哪裡可以改掉讓時間變快?


leopan0922 (zz)

學校 : 臺北市立成功高級中學
編號 : 6612
來源 : [140.113.225.106]
最後登入時間 :
2016-08-15 15:44:07
c074. 00441 - Lotto -- UVa441 | From: [219.70.171.51] | 發表日期 : 2010-09-06 20:31

 以下是我的程式碼,我的執行時間實在太慢了Q_Q

想請教高手除了用迴圈還可以用哪些來讓時間變短??

謝謝!!

 

#include
using namespace std;

int main()
{
    int n;

    while(cin >> n)
   {
       int number[14];

       for(int i=0;i
           cin >> number[i];

       for(int i=0;i
      {

           for(int j=i+1;j
          {
                for(int k=j+1;k
               {
                    for(int l=k+1;l
                   {
                        for(int m=l+1;m
                       {
                            for(int o=m+1;o
                                  cout << number[i] << " " << number[j] << " " << number[k] << " " << number[l] << " "                                    <<   number[m] << " " << number[o] << endl;
         

                         }
                    

                    }
                }
           }
      }
   
    }

      return 0;
}

我好像用DFS解的..忘了


我覺得是你輸入輸出的方法問題

改scanf printf就會變快了

應該吧...

 
#4214: Re:有哪裡可以改掉讓時間變快?


popular10347 (ICPC// 哪時能唸到高等演算法T^T)

學校 : 元智大學
編號 : 11351
來源 : [1.169.118.99]
最後登入時間 :
2012-10-29 00:22:54
c074. 00441 - Lotto -- UVa441 | From: [122.116.13.127] | 發表日期 : 2010-09-06 20:58

 以下是我的程式碼,我的執行時間實在太慢了Q_Q

想請教高手除了用迴圈還可以用哪些來讓時間變短??

謝謝!!

 

#include
using namespace std;

int main()
{
    int n;

    while(cin >> n)
   {
       int number[14];

       for(int i=0;i
           cin >> number[i];

       for(int i=0;i
      {

           for(int j=i+1;j
          {
                for(int k=j+1;k
               {
                    for(int l=k+1;l
                   {
                        for(int m=l+1;m
                       {
                            for(int o=m+1;o
                                  cout << number[i] << " " << number[j] << " " << number[k] << " " << number[l] << " "                                    <<   number[m] << " " << number[o] << endl;
         

                         }
                    

                    }
                }
           }
      }
   
    }

      return 0;
}

我好像用DFS解的..忘了


我覺得是你輸入輸出的方法問題

改scanf printf就會變快了

應該吧...

嗯嗯!!我試試看另一種輸入輸出方法!!

另外,您說的DFS我還沒念到,所以...改天我念完了再來試看看!!

謝謝^_^...

 
ZeroJudge Forum