#include <stdio.h>
#define U_SIZE 11
void printSet(int set[]) {
for (int i = 1; i <= 10; i++)
}
void intersect(int A[], int B[], int R[]) {
for (int i = 1; i <= 10; i++)
R[i] = A[i] && B[i];
}
void uni(int A[], int B[], int R[]) {
for (int i = 1; i <= 10; i++)
R[i] = A[i] || B[i];
}
void symdiff(int A[], int B[], int R[]) {
for (int i = 1; i <= 10; i++)
R[i] = (A[i] != B[i]);
}
int main() {
int A[U_SIZE] = {0};
int B[U_SIZE] = {0};
int C[U_SIZE] = {0};
int a_vals[] = {1,2,3,5,6};
int b_vals[] = {2,3,4,8,9};
int c_vals[] = {3,4,5};
for (int i = 0; i < 5; i++) A[a_vals[i]] = 1;
for (int i = 0; i < 5; i++) B[b_vals[i]] = 1;
for (int i = 0; i < 3; i++) C[c_vals[i]] = 1;
int AC[U_SIZE] = {0};
int AC_sym_B[U_SIZE] = {0};
int BC[U_SIZE] = {0};
int result2[U_SIZE] = {0};
intersect(A, C, AC);
symdiff(AC, B, AC_sym_B);
intersect(B, C, BC);
uni(A, BC, result2);
printSet(AC_sym_B);
printSet(result2);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFVfU0laRSAxMSAgIAoKdm9pZCBwcmludFNldChpbnQgc2V0W10pIHsKICAgIHByaW50ZigieyAiKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDEwOyBpKyspCiAgICAgICAgaWYgKHNldFtpXSkgcHJpbnRmKCIlZCAiLCBpKTsKICAgIHByaW50ZigifVxuIik7Cn0KCnZvaWQgaW50ZXJzZWN0KGludCBBW10sIGludCBCW10sIGludCBSW10pIHsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDEwOyBpKyspCiAgICAgICAgUltpXSA9IEFbaV0gJiYgQltpXTsKfQoKdm9pZCB1bmkoaW50IEFbXSwgaW50IEJbXSwgaW50IFJbXSkgewogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykKICAgICAgICBSW2ldID0gQVtpXSB8fCBCW2ldOwp9Cgp2b2lkIHN5bWRpZmYoaW50IEFbXSwgaW50IEJbXSwgaW50IFJbXSkgewogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykKICAgICAgICBSW2ldID0gKEFbaV0gIT0gQltpXSk7Cn0KCmludCBtYWluKCkgewoKICAgIGludCBBW1VfU0laRV0gPSB7MH07CiAgICBpbnQgQltVX1NJWkVdID0gezB9OwogICAgaW50IENbVV9TSVpFXSA9IHswfTsKCiAgICBpbnQgYV92YWxzW10gPSB7MSwyLDMsNSw2fTsKICAgIGludCBiX3ZhbHNbXSA9IHsyLDMsNCw4LDl9OwogICAgaW50IGNfdmFsc1tdID0gezMsNCw1fTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDU7IGkrKykgQVthX3ZhbHNbaV1dID0gMTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTsgaSsrKSBCW2JfdmFsc1tpXV0gPSAxOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspIENbY192YWxzW2ldXSA9IDE7CgogICAgaW50IEFDW1VfU0laRV0gPSB7MH07CiAgICBpbnQgQUNfc3ltX0JbVV9TSVpFXSA9IHswfTsKICAgIGludCBCQ1tVX1NJWkVdID0gezB9OwogICAgaW50IHJlc3VsdDJbVV9TSVpFXSA9IHswfTsKCiAgICBpbnRlcnNlY3QoQSwgQywgQUMpOwogICAgc3ltZGlmZihBQywgQiwgQUNfc3ltX0IpOwoKICAgIGludGVyc2VjdChCLCBDLCBCQyk7CiAgICB1bmkoQSwgQkMsIHJlc3VsdDIpOwoKICAgIHByaW50ZigiYSkgKEEg4oipIEMpIM6UIEIgPSAiKTsKICAgIHByaW50U2V0KEFDX3N5bV9CKTsKCiAgICBwcmludGYoImIpIEEg4oiqIChCIOKIqSBDKSA9ICIpOwogICAgcHJpbnRTZXQocmVzdWx0Mik7CgogICAgcmV0dXJuIDA7Cn0K