• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program nie przechodzi ostatniego testu.

0 głosów
345 wizyt
pytanie zadane 10 lipca 2022 w C i C++ przez Latarnik Użytkownik (650 p.)

Dzień dobry, próbowałem zrobić zadanie trójkąty jednobarwne ze szkopułu. link:https://szkopul.edu.pl/problemset/problem/UU2Uj-barjiONnRxd9aEVoDj/site/?key=statement

Prawie mi się udało jednak program nie przechodzi ostatniego testu czasowo i mam prośbę czy mógłby ktoś pomóc w skróceniu tego kodu aby przechodził też ostatni test ?

#include <iostream>
 
 using namespace std;
 
 int main()
 {
 	int n, m,a,b;
 	cin>>n>>m;
 	int tablica[n+1];
 	for(int i = 0; i <n+1;i++)
 	{
 	tablica[i] = 0;	
	}
 	for(int i = 0; i <m;i++)
 	{
 		cin>>a>>b;
 		tablica[a] = tablica[a]+1;
 		tablica[b] = tablica[b]+1;
	}
	a = 0;
	a = n*(n-1)*(n-2);
	a = a/6;
	b=0;
	for(int i = 0; i <n+1;i++)
 	{
 		b = b +  (tablica[i]*(n-1-tablica[i]));
 		
 	}
 	
 	b = b/2;
 	
 	cout<<a - b<<endl;
	
 	return 0;
 }

Program robiłem z pomocą wzoru matematycznego na ilość kombinacji. czyli   n! / k! * (n-k)!

oraz wykorzystałem to, że każdy trójkąt różnobarwny musi mieć dwa różnokolorowe boki wychodzące z jednego trójkąta i muszą być koło siebie. Najpierw obliczyłem różnokolorowe i potem odjąłęm je od wszystkich trójkątów.

 

komentarz 10 lipca 2022 przez manjaro Nałogowiec (37,420 p.)
Co to znaczy żę muszą koło siebie? Punkty nie są współliniowe więc nie ma znaczenia gdzie się one znajdują...

1 odpowiedź

+1 głos
odpowiedź 11 lipca 2022 przez Whistleroosh Maniak (57,400 p.)

Dodaj na początek kodu te linijki:

ios_base::sync_with_stdio(false);
cin.tie(nullptr);

A tu jest wytłumaczone co robią

Podobne pytania

0 głosów
0 odpowiedzi 131 wizyt
pytanie zadane 8 lipca 2024 w C i C++ przez Szyszka Gaduła (3,530 p.)
0 głosów
0 odpowiedzi 440 wizyt
pytanie zadane 26 kwietnia 2022 w C i C++ przez Latarnik Użytkownik (650 p.)
0 głosów
1 odpowiedź 211 wizyt
pytanie zadane 12 września 2023 w C i C++ przez Sophix Początkujący (270 p.)

93,695 zapytań

142,613 odpowiedzi

323,225 komentarzy

63,226 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...