結果
| 問題 |
No.2868 Another String of yuusaan
|
| コンテスト | |
| ユーザー |
nonon
|
| 提出日時 | 2024-08-30 23:00:51 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 865 bytes |
| コンパイル時間 | 1,868 ms |
| コンパイル使用メモリ | 196,092 KB |
| 最終ジャッジ日時 | 2025-02-24 03:19:54 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 4 WA * 14 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
vector<long>sz={1};
long add=6;
while(sz.size()<33)
{
long nxt=sz.back()+add;
sz.push_back(nxt);
add*=4;
}
auto dfs=[&](auto dfs, long n, long k)->char
{
if(n==1)return "yuusaan"[k];
long len=0;
if(k<len+1)return 'y';
len+=1;
if(k<len+sz[n-1])return dfs(dfs,n-1,k-len);
len+=sz[n-1];
if(k<len+sz[n-1])return dfs(dfs,n-1,k-len);
len+=sz[n-1];
if(k<len+1)return 's';
len+=1;
if(k<len+sz[n-1])return dfs(dfs,n-1,k-len);
len+=sz[n-1];
if(k<len+sz[n-1])return dfs(dfs,n-1,k-len);
len+=sz[n-1];
return 'n';
};
long N,K;
cin>>N>>K;
cout<<dfs(dfs,min(N,31L),K-1)<<endl;
}
nonon