Triangle Wave
#include <assert.h>
#include <iostream>
#include <string>
using namespace std;
const char EOL = '\n';
inline void print_waveline(size_t height)
{
assert(height <= 9);
cout << string(height, '0' + height) << EOL;
}
void print_wave(size_t amplitude)
{
for (size_t i = 1; i < amplitude; i++) print_waveline(i);
for (size_t i = amplitude; i > 0; i--) print_waveline(i);
}
void print_waveform(size_t amplitude, size_t frequency)
{
while (frequency--)
{
print_wave(amplitude);
if (frequency > 0) cout << EOL;
}
}
int main()
{
size_t n;
cin >> n;
while (n--)
{
size_t amplitude;
size_t frequency;
cin >> amplitude >> frequency;
print_waveform(amplitude, frequency);
if (n > 0) cout << EOL;
}
return 0;
}