#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void shuffle(int *array, int size) {
for (int i = size - 1; i > 0; i--) {
int j
= rand() % (i
+ 1); int tmp = array[j];
array[j] = array[i];
array[i] = tmp;
}
}
int main() {
int p1 = 0;
int p2 = 0;
int c1[4][4], c2[4][4];
int numbers[50];
for (int i = 0; i < 50; i++) numbers[i] = i + 1;
shuffle(numbers, 50);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
c1[i][j] = numbers[i * 4 + j];
}
}
shuffle(numbers, 50);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
c2[i][j] = numbers[i * 4 + j];
}
}
shuffle(numbers, 50);
for (int k = 0; k < 50 && (p1 <= 16 || p2 <= 16); k++) {
int sorteio = numbers[k];
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
if (c1[i][j] == sorteio) p1++;
if (c2[i][j] == sorteio) p2++;
}
}
}
if (p1
== 16) printf("\nBingo! Jogador 1 ganhou\n"); else if (p2
== 16) printf("\nBingo! Jogador 2 ganhou\n"); }
//https://pt.stackoverflow.com/q/390787/101
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHRpbWUuaD4KCnZvaWQgc2h1ZmZsZShpbnQgKmFycmF5LCBpbnQgc2l6ZSkgewogICAgZm9yIChpbnQgaSA9IHNpemUgLSAxOyBpID4gMDsgaS0tKSB7CiAgICAgICAgaW50IGogPSByYW5kKCkgJSAoaSArIDEpOwogICAgICAgIGludCB0bXAgPSBhcnJheVtqXTsKICAgICAgICBhcnJheVtqXSA9IGFycmF5W2ldOwogICAgICAgIGFycmF5W2ldID0gdG1wOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIHNyYW5kKHRpbWUoTlVMTCkpOwogICAgaW50IHAxID0gMDsKICAgIGludCBwMiA9IDA7IAogICAgaW50IGMxWzRdWzRdLCBjMls0XVs0XTsKICAgIGludCBudW1iZXJzWzUwXTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTA7IGkrKykgbnVtYmVyc1tpXSA9IGkgKyAxOwogICAgc2h1ZmZsZShudW1iZXJzLCA1MCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDQ7IGorKykgewogICAgICAgICAgICAgYzFbaV1bal0gPSBudW1iZXJzW2kgKiA0ICsgal07CiAgICAgICAgICAgICBwcmludGYoIiVpXHQiLCBjMVtpXVtqXSk7CiAgICAgICAgIH0KICAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwogICAgc2h1ZmZsZShudW1iZXJzLCA1MCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDQ7IGorKykgewogICAgICAgICAgICAgYzJbaV1bal0gPSBudW1iZXJzW2kgKiA0ICsgal07CiAgICAgICAgICAgICBwcmludGYoIiVpXHQiLCBjMltpXVtqXSk7CiAgICAgICAgIH0KICAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwogICAgc2h1ZmZsZShudW1iZXJzLCA1MCk7CiAgICBmb3IgKGludCBrID0gMDsgayA8IDUwICYmIChwMSA8PSAxNiB8fCBwMiA8PSAxNik7IGsrKykgewogICAgICAgIGludCBzb3J0ZWlvID0gbnVtYmVyc1trXTsKICAgICAgICBwcmludGYgKCIlaSAiLCBzb3J0ZWlvKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDQ7IGorKykgewogICAgICAgICAgICAgICAgaWYgKGMxW2ldW2pdID09IHNvcnRlaW8pIHAxKys7CiAgICAgICAgICAgICAgICBpZiAoYzJbaV1bal0gPT0gc29ydGVpbykgcDIrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGlmIChwMSA9PSAxNikgcHJpbnRmKCJcbkJpbmdvISBKb2dhZG9yIDEgZ2FuaG91XG4iKTsKICAgIGVsc2UgaWYgKHAyID09IDE2KSBwcmludGYoIlxuQmluZ28hIEpvZ2Fkb3IgMiBnYW5ob3VcbiIpOwogICAgZWxzZSBwcmludGYoIlxuZW1wYXRlIik7Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzM5MDc4Ny8xMDE=