打表出奇迹
#include <bits/stdc++.h>
#include <iostream>
#include<string>
using namespace std;
string o[4] = {"ooo*o**--*","o--*o**oo*","o*o*o*--o*","--o*o*o*o*"};
int n;
char chess[205];
void output(){
cout << chess << endl;
}
void swap(char &a,char &b){
char temp;
temp = a;
a = b;
b = temp;
}
void movechess(int start,int end){
swap(chess[start],chess[end]);
swap(chess[start+1],chess[end+1]);
output();
}
int main()
{
int n;
cin >> n;
int m = n;
int i;
for(i = 0; i < n; ++i)chess[i] = 'o';
for(i = n; i < 2 * n; ++i)chess[i] = '*';
chess[2 * n] = '-';
chess[2 * n + 1] = '-';
int len = n - 1;
output();
while(1){
movechess(len,2 * n);
n--;
len--;
if(len == 2){
break;
}
movechess(len + 1,2 * n);
}
string oo = "";
for(i = 0; i < m - 4; ++i)oo += "o*";
for(i = 0; i < 4; ++i)cout << o[i] << oo << endl;
return 0;
}