uuuuuuuuuuu

Signed-off-by: xtex <xtexchooser@duck.com>
This commit is contained in:
xtex 2023-12-23 20:12:09 +08:00
parent 512ad32911
commit b6f65f7a9e
Signed by: xtex
GPG key ID: B918086ED8045B91
2 changed files with 62 additions and 22 deletions

39
luogu/P1082.cpp Normal file
View file

@ -0,0 +1,39 @@
#include <bits/stdc++.h>
#define ll long long
inline ll rdll() {
using namespace std;
ll v = 0;
char c = getchar();
while (!isdigit(c))
c = getchar();
while (isdigit(c)) {
v = (v << 3) + (v << 1) + (c ^ '0');
c = getchar();
}
return v;
}
inline ll exgcd(ll a, ll b, ll &x, ll &y) {
using namespace std;
x = 1, y = 0;
ll x1 = 0, y1 = 1, a1 = a, b1 = b;
while (b1) {
ll q = a1 / b1;
tie(x, x1) = make_tuple(x1, x - q * x1);
tie(y, y1) = make_tuple(y1, y - q * y1);
tie(a1, b1) = make_tuple(b1, a1 - q * b1);
}
return a1;
}
int main() {
ll a = rdll();
ll b = rdll();
ll x, y;
exgcd(a, b, x, y);
x = (x % b + b) % b;
printf("%lld\n", x);
return 0;
}

View file

@ -4,20 +4,21 @@
#define MOD 19260817
inline ll rdll() {
using namespace std;
ll v = 0;
char c = getchar();
while(!isdigit(c)) c = getchar();
while(isdigit(c)) {
v = (v << 3) + (v << 1) + (c ^ '0');
v = v % MOD;
c = getchar();
}
return v;
using namespace std;
ll v = 0;
char c = getchar();
while (!isdigit(c))
c = getchar();
while (isdigit(c)) {
v = (v << 3) + (v << 1) + (c ^ '0');
v = v % MOD;
c = getchar();
}
return v;
}
inline ll exgcd(ll a, ll b, ll& x, ll& y) {
using namespace std;
inline ll exgcd(ll a, ll b, ll &x, ll &y) {
using namespace std;
x = 1, y = 0;
ll x1 = 0, y1 = 1, a1 = a, b1 = b;
while (b1) {
@ -30,15 +31,15 @@ inline ll exgcd(ll a, ll b, ll& x, ll& y) {
}
int main() {
ll a = rdll();
ll b = rdll();
if (b % MOD == 0) {
printf("Angry!\n");
return 0;
}
ll x, y;
exgcd(b, MOD, x, y);
x = (x % MOD + MOD) % MOD;
printf("%lld\n", (a * x) % MOD);
ll a = rdll();
ll b = rdll();
if (b % MOD == 0) {
printf("Angry!\n");
return 0;
}
ll x, y;
exgcd(b, MOD, x, y);
x = (x % MOD + MOD) % MOD;
printf("%lld\n", (a * x) % MOD);
return 0;
}