Tingkat Kesulitan Easy
Kategori Ad Hoc
Pranala Soal Pranala Soal
Pranala Solusi Solusi 1, Solusi 2

Pada soal ini, kita cukup mencetak apa yang diminta soal dengan menggunakan perulangan sederhana.

Salah satu cara yang dapat memudahkan adalah dengan menyimpan dua buah variable string sepanjang $x$ yang berisi * dan ` ` (spasi). Dengan begitu, kita dapat menghilangkan satu level perulangan.

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

int main() {
  int x, p, l;
  cin >> x >> p >> l;
  
  string seat = string(x, '*');  // '*' sebanyak x kali
  string space = string(x, ' '); // ' ' sebanyak x kali

  for (int i = 0; i < p; ++i) {
    for (int j = 0; j < x; ++j) {
      for (int k = 0; k < l; ++k) {
        // saat i+k genap, keluarkan '*'
        // saat i+k ganjil, keluarkan ' '
        if ((i+k) % 2 == 0) {
          cout << seat;
        } else {
          cout << space;
        }
      }
      cout << endl;
    }
  }
}