S
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
void printMeetTable(std::vector<int> seq)
{
for(int i = 0; i < seq.size() / 2; ++i)
{
std::cout << seq[i] << '\t' << seq[i + seq.size() / 2 + seq.size() % 2] << '\n';
}
std::cout << '\n';
}
void rightShift(std::vector<int>& seq)
{
int temp = seq[seq.size() / 2 - 1];
for(int i = seq.size() / 2 - 1; i > 0; --i)
{
seq[i] = seq[i - 1];
}
seq[0] = temp;
}
void leftShift(std::vector<int>& seq)
{
int temp = seq[seq.size() / 2];
for(int i = seq.size() / 2 + 1; i < seq.size(); ++i)
{
seq[i - 1] = seq[i];
}
seq[seq.size() - 1] = temp;
}
void getTable(std::vector<int>& seq)
{
int day = 0;
for(int i = 0; i < seq.size() / 2 - 1; ++i)
{
std::cout << "-----Day " << ++day << "-----" << '\n';
printMeetTable(seq);
rightShift(seq);
}
for(int i = 0; i < seq.size() / 2 - 1; ++i)
{
std::swap(seq[i], seq[i + seq.size() / 2]);
}
for(int i = 0; i < seq.size() / 2 - 1; ++i)
{
std::cout << "-----Day " << ++day << "-----" << '\n';
printMeetTable(seq);
leftShift(seq);
}
std::cout << "-----Day " << ++day << "-----" << '\n';
printMeetTable(seq);
}
int main()
{
std::vector<int> seq;
int count = 16;
for(int i = 0; i < count; ++i)
{
seq.push_back(i + 1);
}
getTable(seq);
return 0;
}
