4305 | 2023. 03. 23 10:39:01 | 1478 | Kígyózó szavak | cpp17 | Rossz válasz 30/100 | 4ms | 4504 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int h, n;
cin>>h>>n;
vector<vector<long long>> dp(h+1, vector<long long>(27));
//vector<int> tas
for(int i=1; i<=26; i++){
dp[1][i] = 1;
}
for(int i=2; i<=h; i++){
for(int j = 1; j<=26; j++){
if(j>1) dp[i][j] += dp[i-1][j-1];
if(j<26) dp[i][j] += dp[i-1][j+1];
}
}
for(int i=2; i<=h; i++){
for(int j=1; j<=26; j++){
dp[i][j] += dp[i-1][j];
}
}
for(int i=1; i<=n; i++){
string sol;
int k, g = h;
cin>>k;
int ind = 1;
while(k-dp[g][ind] > 0){
k -= dp[g][ind];
++ind;
}
sol +='a' + ind - 1;
//cout<<sol<<" ";
//cout<<k<<": ";
bool ok = 0;
while(1){
k--;
g--;
if(k <= 0) {
break;
}
if(ind > 1 && ind < 26){
if(k-dp[g][ind-1] > 0) {
sol+='a'+ind;
//cout<<sol<<" ";
k -= dp[g][ind-1];
//cout<<k<<endl;
ind++;
}
else{
sol+='a'+ind-2;
//cout<<sol<<" "<<k<<endl;
ind--;
}
}
else if(ind == 1){
sol+='b';
ind++;
}
else if(ind == 26){
sol+='y';
ind--;
}
}
cout<<sol<<endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 30/100 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2056 KiB | |||
3 | Elfogadva | 5/5 | 3ms | 2300 KiB | |||
4 | Elfogadva | 5/5 | 3ms | 2460 KiB | |||
5 | Elfogadva | 5/5 | 3ms | 2672 KiB | |||
6 | Elfogadva | 5/5 | 3ms | 2756 KiB | |||
7 | Elfogadva | 5/5 | 4ms | 2752 KiB | |||
8 | Elfogadva | 5/5 | 4ms | 2844 KiB | |||
9 | Rossz válasz | 0/5 | 4ms | 3292 KiB | |||
10 | Rossz válasz | 0/5 | 4ms | 3112 KiB | |||
11 | Rossz válasz | 0/5 | 4ms | 3412 KiB | |||
12 | Rossz válasz | 0/5 | 4ms | 3368 KiB | |||
13 | Rossz válasz | 0/5 | 4ms | 3604 KiB | |||
14 | Rossz válasz | 0/6 | 4ms | 3300 KiB | |||
15 | Rossz válasz | 0/6 | 4ms | 3528 KiB | |||
16 | Rossz válasz | 0/6 | 4ms | 3744 KiB | |||
17 | Rossz válasz | 0/6 | 4ms | 3940 KiB | |||
18 | Rossz válasz | 0/7 | 4ms | 3908 KiB | |||
19 | Rossz válasz | 0/7 | 4ms | 4504 KiB | |||
20 | Rossz válasz | 0/7 | 4ms | 4444 KiB |