QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 256 MB Points totaux : 100 Sortie uniquement

#17747. Rozwiązywanie równań

Statistiques

To zadanie typu "output-only". Innymi słowy, zestawy danych testowych są dostępne do pobrania, a Ty masz za zadanie obliczyć odpowiedzi na własnym komputerze i przesłać je jako plik tekstowy, zamiast przesyłać program.

Busy Beaver zaczął odrabiać pracę domową z matematyki na kilka godzin przed terminem (nie rób tak!). Praca domowa składa się ze $100$ zadań; ile z nich Busy Beaver zdoła rozwiązać przed końcem konkursu?

Każde zadanie to układ równań (szczegóły dotyczące wyglądu tych równań znajdują się w sekcji Wejście). Zadanie polega na znalezieniu dodatnich rozwiązań całkowitych dla jak największej liczby tych układów. Każdy zestaw jest wart jeden punkt, łącznie do zdobycia jest $100$ punktów.

Wejście

Proszę pobrać dane testowe z załącznika.

Każdy zestaw równań rozpoczyna się od linii zawierającej dwie liczby: liczbę zmiennych $N$ w równaniach (reprezentowanych przez odpowiednią liczbę początkowych liter alfabetu) oraz liczbę równań $K$. Następnie następuje $K$ linii, z których każda zawiera jedno równanie.

Każdy wyraz po lewej stronie równania jest sformatowany po prostu jako [dodatni współczynnik całkowity, co najwyżej 1000][lista co najwyżej 6 zmiennych]; lewa strona jest zawsze sumą co najwyżej $20$ takich wyrazów (oddzielonych znakami plusa: żaden wyraz nie ma ujemnego współczynnika), a prawa strona jest zawsze dodatnią liczbą całkowitą. Wykładniki potęg nie są używane; na przykład $a^2bc$ może być zapisane jako aabc lub caab.

Każdy zestaw równań posiada rozwiązanie, w którym żadna ze zmiennych nie przekracza $10^{12}$. Równania zostały wygenerowane przy użyciu prostej metody losowej i nie mają na celu wywołania zachowania pesymistycznego w żadnym algorytmie.

Wyjście

W pierwszej linii wypisz dodatnią liczbę całkowitą $A$ ($1 \le A \le 100$): liczbę równań, które udało Ci się rozwiązać.

Następnie wypisz $A$ linii, z których każda zawiera numer rozwiązanego zestawu (od $1$ do $100$), a po nim oddzieloną spacjami listę dodatnich liczb całkowitych: wartości zmiennych w porządku alfabetycznym.

Na przykład, jeśli rozwiązałeś zestaw równań $5$ i odpowiedzią było $a = 1234$, $b = 5678$, a następnie rozwiązałeś zestaw $10$ i odpowiedzią było $a = 123$, $b = 456$, $c = 789$, Twój plik wyjściowy może wyglądać następująco:

2
5 1234 5678
10 123 456 789

Każdy zestaw równań może zostać wymieniony jako numer zadania co najwyżej raz. Twoje $A$ rozwiązań nie musi być w żadnej konkretnej kolejności (możesz podać rozwiązanie zestawu $10$ przed rozwiązaniem zestawu $5$). Jeśli istnieje wiele rozwiązań, wypisz dowolne z nich, w którym wszystkie zmienne są nie większe niż $10^{18}$ (choć, jak wspomniano powyżej, wszystkie zestawy mają rozwiązania, w których wszystkie zmienne są nie większe niż $10^{12}$).

Punktacja

Jeśli format wyjściowy jest nieprawidłowy lub jeśli jakiekolwiek dostarczone rozwiązanie dla dowolnego zestawu równań jest błędne, otrzymasz zero punktów. W przeciwnym razie otrzymasz $A$ punktów.

Aby pomóc w zaprojektowaniu algorytmu, poniżej przedstawiamy informacje o $100$ zestawach równań, gdzie $M$ to liczba, dla której zestaw posiada rozwiązanie, w którym wszystkie zmienne są nie większe niż $M$:

  • Zestawy 1-2: $N = 1$, $K = 1$, $M = 10$
  • Zestawy 3-7: $N = 1$, $K = 1$, $M = 10^{12}$
  • Zestawy 8-9: $N = 2$, $K = 2$, $M = 10^{3}$
  • Zestawy 10-12: $N = 2$, $K = 2$, $M = 10^{6}$
  • Zestawy 13-20: $N = 2$, $K = 2$, $M = 10^{12}$
  • Zestawy 21-24: $N = 3$, $K = 3$, $M = 10^{3}$
  • Zestawy 25-33: $N = 3$, $K = 3$, $M = 10^{6}$
  • Zestawy 34-40: $N = 3$, $K = 3$, $M = 10^{12}$
  • Zestawy 41-57: $N = 3$, $K = 2$, $M = 10^{7}$
  • Zestawy 58-60: $N = 2$, $K = 1$, $M = 10^{7}$
  • Zestawy 61-70: $N = 2$, $K = 1$, $M = 10^{9}$
  • Zestawy 71-83: $N = 2$, $K = 1$, $M = 10^{10}$
  • Zestawy 84-92: $N = 2$, $K = 1$, $M = 10^{11}$
  • Zestawy 93-100: $N = 2$, $K = 1$, $M = 10^{12}$

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.