結果
| 問題 |
No.2868 Another String of yuusaan
|
| コンテスト | |
| ユーザー |
nonon
|
| 提出日時 | 2024-08-30 22:51:25 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 880 bytes |
| コンパイル時間 | 2,173 ms |
| コンパイル使用メモリ | 196,832 KB |
| 最終ジャッジ日時 | 2025-02-24 03:18:05 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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()<30)
{
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 'u';
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 dfs(dfs,n-1,k-len);
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,30L),K-1)<<endl;
}
nonon