Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
3603 - Quantum
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Computerele cuantice ultramoderne funcționează pe baza arhitecturii interne a hiperprocesoarelor hadronice–dispozitive ce prelucrează optim datele prin intermediul interacțiunilor dintre particulele elementare ale fizicii cuantice, în cazul nostru quarkuri și gluoni. Un astfel de procesor este conceput pe baza unei configurații extrem de stabile alcătuite din n quarkuri plasate într-un câmp de influență cuantic, a cărui integritate este conservată prin intermediul forței nucleare puternice. Interacțiunea dintre quarkuri în cadrul hadronilor este asigurată de m gluoni – particule elementare ce propagă bidirecțional informația analizată în cadrul hiperprocesorului, creând așa-zise nuclee de divergență în structura câmpului de influență care permit prelucrarea eficientă a datelor stocate în qbiți. Aceste nuclee se definesc ca serii de quarkuri interconectate prin lanțuri ciclice de gluoni care, plasate într-un plan imaginar, nu prezintă puncte de convergență cu alte legături cuantice. == Cerința == Se cere testarea existenței unei încorporări în câmpul cuantic a configurației de hadroni ce compun hiperprocesorul, iar în caz afirmativ se va determina inclusiv o posibilă serie de nuclee de divergență. == Date de intrare == Pe prima linie a fișierului de intrare quantumin.txt se află valorile n – numărul de quarkuri – și m -numărul de gluoni -, iar pe următoarele m linii se află dispuse perechi de valori u, v ce definesc legăturile bidirecționale dintre quarkuri în hadroni. == Date de ieșire == Pe prima linie din fișierul de ieșire quantumout.txt se va afișa mesajul "SUCCESSFULLY EMBEDDING" în cazul existenței unei încorporări valide, iar apoi pe următoarea linie valoarea k – numărul de nuclee. Pe următoarele k linii se vor afișa nucleele astfel: numărul de quarkuri din nucleu și particulele elementare ce intră în componența acestuia. În cazul inexistenței unei astfel de încorporări se va afișa exclusiv mesajul "UNSUCCESSFULLY EMBEDDING". == Restricții și precizări == *'''1 <= n <= 200, 1 <= m <= 20000, 1 <= u, v <= n'''; *Se garantează pentru fiecare test că graful quarkurilor este conex. *Un nucleu de divergență este un ciclu elementar. *Se consideră nucleu de divergență inclusiv zona infinită ce înconjoară hadronii. == Exemplu 1 == ; quantumin.txt : 4 6 : 1 2 : 2 3 : 3 1 : 1 4 : 2 4 : 3 4 ; quantumout.txt : SUCCESSFULLY EMBEDDING : 4 : 3 1 2 3 : 3 1 4 2 : 3 4 3 1 : 3 4 3 2 <br> == Exemplu 2 == ; quantumin.txt : 5 7 : 1 2 : 2 3 : 3 4 : 4 1 : 1 5 : 2 5 : 3 5 ; quantumout.txt : UNSUCCESSFULLY EMBEDDING <br> == Rezolvare == <syntaxhighlight lang="python" line> #3603 - Quantum def is_embedding_possible(n, m, edges): if not (1 <= n <= 200 and 1 <= m <= 20000): return "Fals" graph = {i: [] for i in range(1, n + 1)} for u, v in edges: if not (1 <= u <= n and 1 <= v <= n): return "Fals" graph[u].append(v) graph[v].append(u) def dfs(node, visited, current_nucleus): visited[node] = True current_nucleus.append(node) for neighbor in graph[node]: if not visited[neighbor]: dfs(neighbor, visited, current_nucleus) visited = {i: False for i in range(1, n + 1)} nuclei = [] for node in range(1, n + 1): if not visited[node]: current_nucleus = [] dfs(node, visited, current_nucleus) nuclei.append(current_nucleus) if len(nuclei) == 0: return "Fals" return "SUCCESSFULLY EMBEDDING\n{}\n{}".format(len(nuclei), "\n".join(" ".join(map(str, nucleus)) for nucleus in nuclei)) def main(): try: with open('quantumin.txt', 'r') as input_file: n, m = map(int, input_file.readline().split()) edges = [tuple(map(int, input_file.readline().split())) for _ in range(m)] result = is_embedding_possible(n, m, edges) with open('quantumout.txt', 'w') as output_file: output_file.write(result) except Exception as e: print("Fals") if __name__ == "__main__": main() </syntaxhighlight>
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width