TopCoder

Thumb aa
$SorahISA$
$\text{Loli Con}$

User's AC Ratio

87.5% (7/8)

Submission's AC Ratio

22.2% (8/36)

Description

眾所周知, FHVirus 最喜歡壓常了。

現在,他要丟給你一題水題並且逼你壓常。

題目很簡單:輸入一個 $N$ 個數的陣列 $A$,求 $A$ 的「位元與和」、「位元或和」及「位元異或和」,並輸出整個陣列模 $A_1$ 的餘數。

但是,他同時告訴你一個神秘的常數 $longtree$,你的程式的某個常數必須小於那個長樹才行。

你能成功的解開這道怪題,成為新一代的壓常超人嗎?

提示:下面這份程式碼的 $longtree$ 頗大,儘管他會輸出正確的答案,但只會拿到一分。如果你平常喜歡這樣寫程式,孩子,放下屠刀立地成佛啊(?

#include<iostream>
using namespace std;

const int MAXN = 10101;
int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
int A[MAXN], B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z;
int long_tree;

int main() {
    cin >> long_tree;
    cin >> T;
    while (T --> 0) {
        cin >> N;
        x = (1 << 16) - 1, y = 0, z = 0;
        for (i = 0; i < N; ++i) {
            cin >> A[i];
            x &= A[i];
            y |= A[i];
            z ^= A[i];
        }

        cout << x << ' ' << y << ' ' << z << endl;
        for (i = 0; i < N; ++i) {
            cout << A[i] % A[0] << ' ';
        }
        cout << endl;
    }
    return 0;
}

Input Format

輸入第一行有一個正整數 $longtree$ ,代表神奇常數至少要多小才能過這筆測資。

接下來有一個正整數 $T$,代表有 $T$ 筆測資。

每一筆測資,第一行有一個正整數 $N$。
接下來的一行有 $N$ 個正整數 $A_1 \sim A_N$。

對於所有的測資,$T \le 100, N \le 100, 1 \le A_i < 2 ^ {16}$。

Output Format

對於每一筆測資,先輸出一行包含三個數,分別代表 $A_1 \sim A_N$ 的「位元與和」、「位元或和」及「位元異或和」。
接下來請輸出一行 $N$ 個數字,分別代表 $A_1 \mod A_1 \sim A_N \mod A_1$。

Sample Input

77
3
5
5 4 3 2 1
1
1
2
7122 334

Sample Output

0 7 1
0 4 3 2 1
1 1 1
0
322 7134 6812
0 334

Hints

Problem Source

TIOJ April Fools Day Contest 2022

Subtasks

No. Testdata Range Constraints Score
1 0 範例測資。 0
2 1 $longtree = 77$ 1
3 1~2 $longtree = 49$ 6
4 1~3 $longtree = 42$ 7
5 1~4 $longtree = 38$ 7
6 1~5 $longtree = 36$ 7
7 1~6 $longtree = 34$ 7
8 1~7 $longtree = 32$ 14
9 1~8 $longtree = 29$ 49
10 1~9 $longtree = 27$ 2

Testdata and Limits

No. Time Limit (ms) Memory Limit (KiB) Output Limit (KiB) Subtasks
0 100 262144 65536 1
1 100 262144 65536 2 3 4 5 6 7 8 9 10
2 100 262144 65536 3 4 5 6 7 8 9 10
3 100 262144 65536 4 5 6 7 8 9 10
4 100 262144 65536 5 6 7 8 9 10
5 100 262144 65536 6 7 8 9 10
6 100 262144 65536 7 8 9 10
7 100 262144 65536 8 9 10
8 100 262144 65536 9 10
9 100 262144 65536 10