QOJ.ac

QOJ

시간 제한: 2.0 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#15032. Chiffrement

통계

Alice a conçu un système de chiffrement : il encode le texte en clair sous la forme d'un entier non signé sur 64 bits $x$, choisit aléatoirement un entier non signé sur 64 bits $a$ comme clé publique, et chiffre le texte en clair pour obtenir le texte chiffré $b = a^x \bmod 2^{64}$. En particulier, on définit $0^0 = 1$.

Maintenant, Bob a intercepté $n$ paires d'informations chiffrées $(a_i, b_i)$ ($i = 1, 2, \dots, n$). Pour déchiffrer toutes les informations, Bob doit trouver, pour chaque paire d'informations chiffrées, le plus petit entier $x_i$ ($0 \le x_i < 2^{64}$) tel que $a_i^{x_i} \equiv b_i \pmod{2^{64}}$, ou déterminer que l'information a été corrompue (c'est-à-dire qu'il n'existe aucun $x_i$ satisfaisant la condition). Veuillez écrire un programme pour aider Bob à accomplir cette tâche.

Entrée

La première ligne de l'entrée contient un entier $n$ ($1 \le n \le 10^5$), représentant le nombre de messages.

Parmi les $n$ lignes suivantes, la $i$-ème ligne contient deux entiers $a_i$ et $b_i$ ($0 \le a_i, b_i < 2^{64}$), représentant respectivement la clé publique et le texte chiffré du $i$-ème message.

Sortie

Affichez $n$ lignes ; pour la $i$-ème ligne :

  • S'il existe au moins un $x_i$ qui satisfait les conditions de l'énoncé, affichez le plus petit d'entre eux ;
  • Sinon, affichez une ligne contenant broken message.

Exemple

Entrée

5
2 4
3 27
1000000007 998244353
4 2
1000000007 1000000009

Sortie

2
3
994996658310742016
broken message
broken message

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#3008EditorialOpen题解KobicGendView
#904EditorialOpenNew Editorial for Problem #15032KiharaToumaView

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.