Baekjoon #2578

Baekjoon #2578

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
#include<bits/stdc++.h>

using namespace std;

int board[5][5];
bool used[5][5];

bool bingo() {
    int line = 0;

    bool bingo = true;
    for(int i=0;i<5;i++){
        bingo = true;
        for(int j=0;j<5;j++){
            bingo &= used[i][j];
        }
        if(bingo) line ++;
        
        bingo = true;
        for(int j=0;j<5;j++){
            bingo &= used[j][i];
        }
        if(bingo) line ++;
    }

    bingo = true;
    for(int i=0;i<5;i++){
        bingo &= used[i][i];
    }
    if(bingo) line++;
    
    bingo = true;
    for(int i=0;i<5;i++){
        bingo &= used[4-i][i];
    }
    if(bingo) line++;

    return line >= 3;
}

void marking(int number){
    for(int i=0;i<5;i++){
        for(int j=0;j<5;j++){
            if(board[i][j] == number) {
                used[i][j] = true;
                return;
            }
        }
    }
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    for(int i=0;i<5;i++){
        for(int j=0;j<5;j++){
            cin >> board[i][j];
        }
    }

    for(int i=1;i<=25;i++){
        int x;cin >> x;
        marking(x);
        if(bingo()){
            cout << i;
            return 0;
        }
    }

    return 0;
}

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.