範例程式碼 uva496

//uva496
#include<iostream>
#include<stdio.h>
#include<algorithm>

using namespace std;

int main() {
    int s1[1000], s2[1000], n, m, match = 0;
    char c;
    while (scanf("%d%c", &s1[0], &c) == 2) {
        for (n = 1; c != '\n'; n++)
            scanf("%d%c", &s1[n], &c);
        c = 0;
        for (m = 0; c != '\n'; m++)
            scanf("%d%c", &s2[m], &c);
        sort(s1, s1 + n);
        sort(s2, s2 + m);
        match = 0;
        for (int i = 0, j = 0;i < n && j < m;) {
            if (s2[j] == s1[i]) {
                    match++;
                    i++;
                    j++;
                    continue;
            }
            if (s1[i] > s2[j])
                j++;
            else
                i++;
        }
        if (match == 0)
            cout << "A and B are disjoint\n";
        else if (match == n && match == m)
            cout << "A equals B\n";
        else if (match == n)
            cout << "A is a proper subset of B\n";
        else if (match == m)
            cout << "B is a proper subset of A\n";
        else
            cout << "I'm confused!\n";
    }
    return 0;
}