QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#54966#2965. RSA Mistakekhobeiz#AC ✓18ms3748kbC++1.8kb2022-10-11 19:21:372022-10-11 19:21:39

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-11 19:21:39]
  • 评测
  • 测评结果:AC
  • 用时:18ms
  • 内存:3748kb
  • [2022-10-11 19:21:37]
  • 提交

answer

#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <cassert>
#include <complex>
#include <string>
#include <cstring>
#include <chrono>
#include <random>
#include <bitset>
#include <array>
using namespace std;

typedef long long ll;
typedef long double ld;

const int N = 1e5+ 5;
const int OO = 1e9;

ll A, B;

map<ll, int> factorize(ll x) {
    map<ll, int> factors;
    for (ll i = 2; i * i <= x; ++i) {
        while (x % i == 0) {
            x /= i;
            ++factors[i];
        }
    }
    if (x > 1) {
        ++factors[x];
    }
    return factors;
}

bool isPrime(map<ll, int> &factors) {
    return factors.size() == 1 && factors.begin()->second == 1;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> A >> B;
    auto Afactors = factorize(A);
    auto Bfactors = factorize(B);
    if (isPrime(Afactors) && isPrime(Bfactors) && A != B) {
        cout << "full credit";
    } else {
        map<ll, int> factors;
        bool hasSquareFactor = false;
        for (auto &it : Afactors) {
            factors[it.first] = it.second;
            if (factors[it.first] > 1) {
                hasSquareFactor = true;
            }
        }
        for (auto &it : Bfactors) {
            factors[it.first] += it.second;
            if (factors[it.first] > 1) {
                hasSquareFactor = true;
            }
        }
        if (hasSquareFactor) {
            cout << "no credit";
        } else {
            cout << "partial credit";
        }
    }
    cout << endl;
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 2ms
memory: 3616kb

input:

13 23

output:

full credit

result:

ok single line: 'full credit'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3568kb

input:

35 6

output:

partial credit

result:

ok single line: 'partial credit'

Test #3:

score: 0
Accepted
time: 2ms
memory: 3708kb

input:

4 5

output:

no credit

result:

ok single line: 'no credit'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

17 17

output:

no credit

result:

ok single line: 'no credit'

Test #5:

score: 0
Accepted
time: 2ms
memory: 3500kb

input:

15 21

output:

no credit

result:

ok single line: 'no credit'

Test #6:

score: 0
Accepted
time: 13ms
memory: 3564kb

input:

545528636581 876571629707

output:

no credit

result:

ok single line: 'no credit'

Test #7:

score: 0
Accepted
time: 7ms
memory: 3636kb

input:

431348146441 3

output:

no credit

result:

ok single line: 'no credit'

Test #8:

score: 0
Accepted
time: 2ms
memory: 3648kb

input:

584803025179 200560490130

output:

partial credit

result:

ok single line: 'partial credit'

Test #9:

score: 0
Accepted
time: 3ms
memory: 3616kb

input:

725769156026 520807975733

output:

partial credit

result:

ok single line: 'partial credit'

Test #10:

score: 0
Accepted
time: 2ms
memory: 3548kb

input:

94785999423 831843785340

output:

no credit

result:

ok single line: 'no credit'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

962631984045 923583932904

output:

no credit

result:

ok single line: 'no credit'

Test #12:

score: 0
Accepted
time: 7ms
memory: 3676kb

input:

983892174682 596267564620

output:

no credit

result:

ok single line: 'no credit'

Test #13:

score: 0
Accepted
time: 12ms
memory: 3628kb

input:

988586693791 523281177667

output:

full credit

result:

ok single line: 'full credit'

Test #14:

score: 0
Accepted
time: 14ms
memory: 3708kb

input:

768483880537 958632922673

output:

full credit

result:

ok single line: 'full credit'

Test #15:

score: 0
Accepted
time: 16ms
memory: 3556kb

input:

695320496641 992131878511

output:

full credit

result:

ok single line: 'full credit'

Test #16:

score: 0
Accepted
time: 14ms
memory: 3548kb

input:

619864432127 575182057589

output:

full credit

result:

ok single line: 'full credit'

Test #17:

score: 0
Accepted
time: 14ms
memory: 3536kb

input:

574224928327 554785761851

output:

full credit

result:

ok single line: 'full credit'

Test #18:

score: 0
Accepted
time: 2ms
memory: 3544kb

input:

2 2

output:

no credit

result:

ok single line: 'no credit'

Test #19:

score: 0
Accepted
time: 14ms
memory: 3724kb

input:

999999999989 999999999961

output:

full credit

result:

ok single line: 'full credit'

Test #20:

score: 0
Accepted
time: 13ms
memory: 3540kb

input:

999999999989 999999999989

output:

no credit

result:

ok single line: 'no credit'

Test #21:

score: 0
Accepted
time: 10ms
memory: 3616kb

input:

2 999999999989

output:

full credit

result:

ok single line: 'full credit'

Test #22:

score: 0
Accepted
time: 10ms
memory: 3616kb

input:

999999999989 2

output:

full credit

result:

ok single line: 'full credit'

Test #23:

score: 0
Accepted
time: 11ms
memory: 3564kb

input:

799337241719 790574179457

output:

no credit

result:

ok single line: 'no credit'

Test #24:

score: 0
Accepted
time: 18ms
memory: 3732kb

input:

999962000357 999944000663

output:

no credit

result:

ok single line: 'no credit'

Test #25:

score: 0
Accepted
time: 2ms
memory: 3544kb

input:

2 4

output:

no credit

result:

ok single line: 'no credit'

Test #26:

score: 0
Accepted
time: 2ms
memory: 3652kb

input:

4 2

output:

no credit

result:

ok single line: 'no credit'

Test #27:

score: 0
Accepted
time: 2ms
memory: 3680kb

input:

21 15

output:

no credit

result:

ok single line: 'no credit'

Test #28:

score: 0
Accepted
time: 2ms
memory: 3728kb

input:

5 4

output:

no credit

result:

ok single line: 'no credit'

Test #29:

score: 0
Accepted
time: 1ms
memory: 3652kb

input:

125 7

output:

no credit

result:

ok single line: 'no credit'

Test #30:

score: 0
Accepted
time: 9ms
memory: 3548kb

input:

999999999969 999999999929

output:

partial credit

result:

ok single line: 'partial credit'

Test #31:

score: 0
Accepted
time: 8ms
memory: 3616kb

input:

428571428541 999999999929

output:

no credit

result:

ok single line: 'no credit'

Test #32:

score: 0
Accepted
time: 11ms
memory: 3620kb

input:

949999999373 714080161721

output:

partial credit

result:

ok single line: 'partial credit'

Test #33:

score: 0
Accepted
time: 14ms
memory: 3544kb

input:

757523014201 616759792799

output:

partial credit

result:

ok single line: 'partial credit'

Test #34:

score: 0
Accepted
time: 16ms
memory: 3500kb

input:

945410323183 793541296879

output:

partial credit

result:

ok single line: 'partial credit'

Test #35:

score: 0
Accepted
time: 8ms
memory: 3572kb

input:

668134918943 250092815711

output:

partial credit

result:

ok single line: 'partial credit'

Test #36:

score: 0
Accepted
time: 12ms
memory: 3568kb

input:

593159028797 378923570503

output:

partial credit

result:

ok single line: 'partial credit'

Test #37:

score: 0
Accepted
time: 14ms
memory: 3540kb

input:

673663445657 685555556761

output:

partial credit

result:

ok single line: 'partial credit'

Test #38:

score: 0
Accepted
time: 8ms
memory: 3544kb

input:

615590502287 730111591619

output:

partial credit

result:

ok single line: 'partial credit'

Test #39:

score: 0
Accepted
time: 12ms
memory: 3504kb

input:

737474530367 339061475591

output:

partial credit

result:

ok single line: 'partial credit'

Test #40:

score: 0
Accepted
time: 14ms
memory: 3624kb

input:

547304948893 825051092141

output:

partial credit

result:

ok single line: 'partial credit'

Test #41:

score: 0
Accepted
time: 6ms
memory: 3732kb

input:

888259990703 349508614421

output:

partial credit

result:

ok single line: 'partial credit'

Test #42:

score: 0
Accepted
time: 13ms
memory: 3564kb

input:

394206923881 679230181703

output:

no credit

result:

ok single line: 'no credit'

Test #43:

score: 0
Accepted
time: 9ms
memory: 3636kb

input:

199036422587 813176211779

output:

no credit

result:

ok single line: 'no credit'

Test #44:

score: 0
Accepted
time: 3ms
memory: 3716kb

input:

385196736923 358517468791

output:

no credit

result:

ok single line: 'no credit'

Test #45:

score: 0
Accepted
time: 13ms
memory: 3672kb

input:

540003052801 543341442493

output:

no credit

result:

ok single line: 'no credit'

Test #46:

score: 0
Accepted
time: 8ms
memory: 3632kb

input:

529883073493 557936045561

output:

no credit

result:

ok single line: 'no credit'

Test #47:

score: 0
Accepted
time: 7ms
memory: 3548kb

input:

519207113731 326410289771

output:

no credit

result:

ok single line: 'no credit'

Test #48:

score: 0
Accepted
time: 13ms
memory: 3652kb

input:

530779897367 729543471779

output:

no credit

result:

ok single line: 'no credit'

Test #49:

score: 0
Accepted
time: 2ms
memory: 3644kb

input:

623202833611 876138576449

output:

no credit

result:

ok single line: 'no credit'

Test #50:

score: 0
Accepted
time: 15ms
memory: 3748kb

input:

741753647069 741753647069

output:

no credit

result:

ok single line: 'no credit'

Test #51:

score: 0
Accepted
time: 6ms
memory: 3544kb

input:

548039 445335943361

output:

no credit

result:

ok single line: 'no credit'

Test #52:

score: 0
Accepted
time: 13ms
memory: 3628kb

input:

644483448731 611801529223

output:

no credit

result:

ok single line: 'no credit'

Test #53:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

498556835561 412089307169

output:

no credit

result:

ok single line: 'no credit'

Test #54:

score: 0
Accepted
time: 15ms
memory: 3612kb

input:

602312422583 602312422583

output:

no credit

result:

ok single line: 'no credit'

Test #55:

score: 0
Accepted
time: 6ms
memory: 3560kb

input:

517277 424820460851

output:

no credit

result:

ok single line: 'no credit'