順列の次の順列を求める
問題概要
正整数nに対し、1からnまでの数値で構成される順列を辞書順に並べたとき、指定された順列のk個後の順列を求める問題です。最終順列の次は最初の順列に戻る必要があります。
例
n = 3, k = 2のとき、入力が2 3 1の場合:
1回後の順列:3 1 2
2回後の順列:3 2 1
入出力仕様
入力
1行目:テストケース数m
各テストケース:
1行目:n(1<=n<1024)とk ...
8月1日 00:23 投稿
SMU 2024年秋期 第1回個人戦 解説
A. 辞書順最小文字列生成
解法概要
2つの文字列を降順にソートし、交互に文字を取り出す。同じ文字列から連続して取り出す回数が制限値kを超えないようにしながら、最終的に辞書順が最小になるように構築する。
変更版コード例
#include <iostream>
#include <algorithm>
using namespace std;
void process() {
int lenA, lenB, maxSame;
cin >> le ...
7月12日 19:03 投稿