結果
| 問題 | No.3299 K-th MMA String | 
| コンテスト | |
| ユーザー |  yu23578 | 
| 提出日時 | 2025-10-05 15:16:37 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 4 ms / 2,000 ms | 
| コード長 | 573 bytes | 
| コンパイル時間 | 1,889 ms | 
| コンパイル使用メモリ | 195,120 KB | 
| 実行使用メモリ | 7,716 KB | 
| 最終ジャッジ日時 | 2025-10-05 15:16:55 | 
| 合計ジャッジ時間 | 2,853 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 20 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define int long long
int N,K;
signed main(){
  cin>>N>>K;
  int T = min(N,20ll);
  int cnt = 0;
  for(int i = 0; i < (1<<T); i++){
  	for(int j = 2; j < T; j++){
  		if((i & (1<<j)) && (i & (1<<(j-1))) && !(i & (1<<(j-2)))){
  			cnt++;
  			if(cnt == K){
  				string ans = "";
  				for(int k = N-1; k >= T; k--){
  					ans += "A";
  				}
  				for(int k = T-1; k >= 0; k--){
  					if(i & (1<<k)) ans += "M";
  					else ans += "A";
  				}
  				cout << ans << "\n";
  				return 0;
  			}
  			break;
  		}
  	}
  }
}
            
            
            
        