//chockolateman
#include<bits/stdc++.h>
#include "Azzurro.h"
using namespace std;
namespace {
// グローバル変数と内部関数は無名名前空間内で宣言すること
// All global variables and internal functions should be declared in an unnamed namespace
}
std::vector<std::vector<int>> Azzurro(int N, int L, std::string S) {
std::vector<std::vector<int>> ret(N, std::vector<int>(N, 0));
int cnt = 0;
for(int j = 0 ; j < N ; j++)
{
if(j%2==0)
for(int i = 0 ; i < N ; i++)
{
if(cnt < L)
ret[i][j] = S[cnt] - 'A';
cnt++;
}
else
for(int i = 0 ; i < N ; i++)
ret[i][j] = 0;
}
return ret;
}
//chockolateman
#include<bits/stdc++.h>
#include "Bordeaux.h"
namespace {
// グローバル変数と内部関数は無名名前空間内で宣言すること
// All global variables and internal functions should be declared in an unnamed namespace
}
std::string Bordeaux(int N, int L, std::vector<std::vector<int>> T) {
std::string s(L, 'A');
int start = 0;
int cnt = 0;
for(int j = 0 ; j < N ; j++)
{
if(j%2==0)
{
int end = N-1;
for(int i = 0 ; i < N ; i++)
if(T[i][j+1]==1)
{
end = i;
break;
}
for(int i = start ; i <= end ; i++)
T[i][j] ^= 1;
for(int i = 0 ; i < N ; i++)
{
if(cnt < L)
s[cnt] = T[i][j] + 'A';
cnt++;
}
}
else
{
for(int i = 0 ; i < N ; i++)
if(T[i][j]==1)
start = i;
}
}
return s;
}