You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
623 B
C++
26 lines
623 B
C++
#include <bits/stdc++.h>
|
|
using namespace std;
|
|
typedef long long ll;
|
|
ll fpow(ll a, ll b, ll m)
|
|
{
|
|
ll r = 1;
|
|
for (; b; b >>= 1, a = a * a % m)
|
|
if (b & 1)
|
|
r = r * a % m;
|
|
return r;
|
|
}
|
|
int main()
|
|
{
|
|
ll c, k1, k2, b1;
|
|
for (int t = 1; ~scanf("%lld%lld%lld%lld", &c, &k1, &b1, &k2); t++)
|
|
{
|
|
printf("Case #%d:\n", t);
|
|
bool flag = 0;
|
|
for (ll i = 1, a, b; i < c; i++)
|
|
if (fpow(a = i, k1, c) == fpow(b = c - fpow(a, k1 + b1, c), k2, c))
|
|
printf("%lld %lld\n", a, b), flag = true;
|
|
if (!flag)
|
|
puts("-1");
|
|
}
|
|
return 0;
|
|
} |