9725 | 2024. 03. 03 18:25:46 | csdavid | Kígyózó szavak | cpp17 | Elfogadva 100/100 | 8ms | 4380 KiB |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
//ofstream fout("enyem.txt");
//ifstream fin("be.txt");
int h, n;
int utolso=0, aorb=0;
cin >> h;
cin >> n;
int horiginal=h;
while(h>33){
aorb=1;
h--;
if(h>33){
aorb=2;
h--;
}
}
long long a[h][28];
for(auto& alma:a[1])
{
alma=1;
}
for(auto& alma:a[0])
{
alma=1;
}
for(int i=0; i<h; i++){
a[i][0]=0;
a[i][27]=0;
}
for(int i=1; i<h; i++){
for(int j=1; j<27; j++){
a[i][j]=a[i-1][j-1]+a[i-1][j+1];
}
}
for(int i=1; i<h; i++){
for(int j=1; j<27; j++){
a[i][j]+=a[i-1][j];
}
}
/*for(auto& xy:a){
for(auto& yx:xy){
cout << yx << " ";
}
cout << '\n';
}
*/
int x;
int sor = h-1, i;
string vege;
for(int it=0; it<n; it++){
cin >> x;
int alma=0;
if(x==horiginal+1){
alma=1;
}
vege.clear();
utolso=aorb;
sor=h-1;
if(utolso==0){
utolso=1;
while(x>a[sor][utolso]){
x-=a[sor][utolso];
utolso++;
}
//vege.push_back(utolso+96);
}
else{
sor=horiginal-1;
while(sor>31&&x>0){
x--;
sor--;
vege.push_back('a');
utolso=1;
if(sor>31&&x>0){
x--;
sor--;
vege.push_back('b');
utolso=2;
}
}
x++;
sor+=1;
vege.pop_back();
//cout << vege << endl;
}
sor--;
// cout << "sor: " << sor << endl << "utolso: " << utolso << endl << "x: " << x << endl<< "a[sor][utolso-1] = " << a[sor][utolso-1] << endl << endl;
while(x>1&&sor>0){
if(a[sor][utolso-1]>=x-1){
x--;
vege.push_back(utolso+96);
//x-=a[sor][utolso];
utolso--;
}
else{
vege.push_back(utolso+96);
x-=a[sor][utolso-1];
x--;
utolso++;
}
sor--;
//cout << "sor: " << sor << endl << "utolso: " << utolso << endl << "x: " << x << endl<< "a[sor][utolso-1] = " << a[sor][utolso-1] << endl << endl;
}
vege.push_back(utolso+96);
x--;
//cout << "x = " << x << endl << "sor = " << sor << "\n\n";
if(x==1){
if(utolso==1){
vege.push_back('b');
}
else{
vege.push_back(utolso+95);
}
}
else if(x==2){
vege.push_back(utolso+97);
}
/*if(alma==1&&horiginal%2==1){
vege.push_back('c');
}*/
cout << vege << endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 100/100 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1684 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 1932 KiB | |||
3 | Elfogadva | 5/5 | 3ms | 2136 KiB | |||
4 | Elfogadva | 5/5 | 3ms | 2144 KiB | |||
5 | Elfogadva | 5/5 | 3ms | 2380 KiB | |||
6 | Elfogadva | 5/5 | 4ms | 2352 KiB | |||
7 | Elfogadva | 5/5 | 4ms | 2604 KiB | |||
8 | Elfogadva | 5/5 | 4ms | 2696 KiB | |||
9 | Elfogadva | 5/5 | 4ms | 2912 KiB | |||
10 | Elfogadva | 5/5 | 4ms | 2996 KiB | |||
11 | Elfogadva | 5/5 | 6ms | 3236 KiB | |||
12 | Elfogadva | 5/5 | 6ms | 3448 KiB | |||
13 | Elfogadva | 5/5 | 8ms | 3600 KiB | |||
14 | Elfogadva | 6/6 | 4ms | 3796 KiB | |||
15 | Elfogadva | 6/6 | 6ms | 3772 KiB | |||
16 | Elfogadva | 6/6 | 6ms | 3748 KiB | |||
17 | Elfogadva | 6/6 | 4ms | 3764 KiB | |||
18 | Elfogadva | 7/7 | 4ms | 3948 KiB | |||
19 | Elfogadva | 7/7 | 8ms | 4380 KiB | |||
20 | Elfogadva | 7/7 | 4ms | 4244 KiB |