UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#212673#3827. Azhouzhichen1234561001251ms1200kbC++1.2kb2024-10-20 09:17:382024-10-20 12:36:27

answer

#include <iostream>

bool noCarryInBinary(int num1, int num2) {
    int sum = num1 + num2;
    while (num1 > 0 || num2 > 0 || sum > 0) {
        int bit1 = num1 & 1;
        int bit2 = num2 & 1;
        int bitSum = sum & 1;
        if ((bit1 & bit2) && bitSum == 0) return false;
        num1 >>= 1;
        num2 >>= 1;
        sum >>= 1;
    }
    return true;
}

bool noCarryInTernary(int num1, int num2) {
    int sum = num1 + num2;
    int carry = 0;
    while (num1 > 0 || num2 > 0 || sum > 0) {
        int digit1 = num1 % 3;
        int digit2 = num2 % 3;
        int digitSum = digit1 + digit2 + carry;
        if (digitSum >= 3) return false;
        carry = digitSum / 3;
        num1 /= 3;
        num2 /= 3;
        sum /= 3;
    }
    return true;
}

int countGoodPairs(int n) {
    int count = 0;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= n; ++j) {
            if (noCarryInBinary(i, j) && noCarryInTernary(i, j)) {
                count++;
            }
        }
    }
    return count;
}

int main() {
    int n;
    std::cin >> n;
    std::cout << countGoodPairs(n) << std::endl;
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 1ms
memory: 1200kb

input:

2

output:

0

result:

ok 1 number(s): "0"

Test #2:

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

input:

8

output:

6

result:

ok 1 number(s): "6"

Subtask #2:

score: 20
Accepted

Test #3:

score: 20
Accepted
time: 0ms
memory: 1196kb

input:

92

output:

348

result:

ok 1 number(s): "348"

Test #4:

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

input:

85

output:

316

result:

ok 1 number(s): "316"

Subtask #3:

score: 20
Accepted

Test #5:

score: 20
Accepted
time: 11ms
memory: 1196kb

input:

939

output:

7730

result:

ok 1 number(s): "7730"

Test #6:

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

input:

994

output:

7994

result:

ok 1 number(s): "7994"

Subtask #4:

score: 50
Accepted

Test #7:

score: 50
Accepted
time: 212ms
memory: 1200kb

input:

4375

output:

58626

result:

ok 1 number(s): "58626"

Test #8:

score: 0
Accepted
time: 233ms
memory: 1196kb

input:

4594

output:

66410

result:

ok 1 number(s): "66410"

Test #9:

score: 0
Accepted
time: 277ms
memory: 1200kb

input:

4989

output:

74836

result:

ok 1 number(s): "74836"

Test #10:

score: 0
Accepted
time: 258ms
memory: 1196kb

input:

4877

output:

73756

result:

ok 1 number(s): "73756"

Test #11:

score: 0
Accepted
time: 249ms
memory: 1200kb

input:

4790

output:

72308

result:

ok 1 number(s): "72308"

Extra Test:

score: 0
Extra Test Passed