Mistrz Programowania

Mistrz Programowania 2026 runda 5 poziom a
Tagi: implementacyjne
Autor zadania: Daniel Olkowski Autor omówienia: Tomasz Kwiatkowski
Treść

Omówienie zadania Autobus

W zadaniu należy stwierdzić, czy podany na wejściu ASCII-art autobusu zawiera drzwi, czy nie.

Szczęśliwie się składa, że w drugimi wierszu znajdują się pionowe kreski (|) wtedy i tylko wtedy, gdy autobus ma drzwi!

Przykładowe implementacje

C++

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    array<string, 4> bus;
    for (auto& line : bus) {
        getline(cin, line);
    }

    if (ranges::contains(bus[1], '|')) {
        cout << "W prawo, na pizze!\n";
    }
    else {
        cout << "W lewo, na sprawdzian!\n";
    }
    return 0;
}

Python

def main():
    bus = [input() for _ in range(4)]

    if '|' in bus[1]:
        print("W prawo, na pizze!")
    else:
        print("W lewo, na sprawdzian!")


main()

Rust

use std::io::{self, Read};

fn main() {
    let mut input = String::new();
    io::stdin().read_to_string(&mut input).unwrap();

    let mut iter = input.lines();
    let mut bus = [String::new(), String::new(), String::new(), String::new()];
    for line in bus.iter_mut() {
        *line = iter.next().unwrap_or("").to_string();
    }

    if bus[1].contains('|') {
        println!("W prawo, na pizze!");
    } else {
        println!("W lewo, na sprawdzian!");
    }
}

Uwagi