#30456: C++ line:8941 正確答案為: 1A2B,我的答案為: 0A3B


e002933 (徐MAN)


程式碼如下:

#include<iostream>
using namespace std;

int main() {
    int a[4], b[4];
    int n;
    cin.tie(0);
    cout.tie(0);
    while(cin>>a[0]>>a[1]>>a[2]>>a[3]>>n) {
        while(n > 0) {
            cin>>b[0]>>b[1]>>b[2]>>b[3];
            int x = 0, y = 0;
            for(int i = 0; i < 4; i++) {
                if(a[i] == b[i]) {
                        x++;
                        b[i] = -1;
                }
                else {
                    for(int j = 0; j < 4; j++)
                        if(a[i] == b[j]) {
                            b[j] = -1;
                            y++;
                            break;
                        }
                }
            }
        cout<<x<<"A"<<y<<"B"<<'\n';
        n--;
        }
    }
    return 0;
}

討論區有8頁相關討論我大部份都看了

有一篇也是錯8941的回答,數字我也測試了

還有討論區裡幾乎版友們丟的數字我都測試了

全部都是對的

想請問是哪裡出了問題?

謝謝版友們的回答

#30457: Re: C++ line:8941 正確答案為: 1A2B,我的答案為: 0A3B


BottonCoder (BottonCoder)


程式碼如下:

#include
using namespace std;

int main() {
    int a[4], b[4];
    int n;
    cin.tie(0);
    cout.tie(0);
    while(cin>>a[0]>>a[1]>>a[2]>>a[3]>>n) {
        while(n > 0) {
            cin>>b[0]>>b[1]>>b[2]>>b[3];
            int x = 0, y = 0;
            for(int i = 0; i < 4; i++) {
                if(a[i] == b[i]) {
                        x++;
                        b[i] = -1;
                }
                else {
                    for(int j = 0; j < 4; j++)
                        if(a[i] == b[j]) {
                            b[j] = -1;
                            y++;
                            break;
                        }
                }
            }
        cout<        n--;
        }
    }
    return 0;
}

討論區有8頁相關討論我大部份都看了

有一篇也是錯8941的回答,數字我也測試了

還有討論區裡幾乎版友們丟的數字我都測試了

全部都是對的

想請問是哪裡出了問題?

謝謝版友們的回答

給你一個測資:

1 1 1 1
1
2 1 1 1

#30462: Re: C++ line:8941 正確答案為: 1A2B,我的答案為: 0A3B


fire5386 (becaidorz)


 

給你一個測資:

1 1 1 1
1
2 1 1 1


電光火石