jak przyspieszyć działanie programu

jak przyspieszyć działanie programu
gswidwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 839
0

http://pl.spoj.com/problems/FCTRL3/

Kopiuj
 
#include <iostream>

using namespace std;

int main()
{
    int zestawy;
    cin >> zestawy;

    int L, wynik=1;
    for(int n=0; n<zestawy; n++)
    {
        wynik = 1;
        cin >> L;
        for(int mnoznik=1; mnoznik<=L; mnoznik++)
         wynik = wynik * mnoznik;
        int odjemnik = wynik / 100;
        wynik -= odjemnik * 100;

        odjemnik = wynik/10;
        cout<<wynik/10<<" "<<wynik-(odjemnik*10)<<endl;
    }
}

jak zmodyfikować kod, aby nie przekraczało mi limitu czasu?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Na początek wywal cout i cin a zamiast tego daj scanf i printf.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

EDIT:

Kopiuj
#include <cstdio>
using namespace std;

const char *R[]=
  {
   "0 1",
   "0 1",
   "0 2",
   "0 6",
   "2 4",
   "2 0",
   "2 0",
   "4 0",
   "2 0",
   "8 0",
   "0 0"
  };

int main()
  {
   unsigned T;
   scanf("%u",&T);
   while(T--)
     {
      unsigned n;
      scanf("%u",&n);
      puts(R[n>10?10:n]);
     }
   return 0;
  }

W praktyce wygląda na rypnięte zadanie. Z zadaniem wszystko ok, w poprzedniej wersji nie uwzględniłem 0!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.