def get(s):
f = [-1] * 26
for i, v in enumerate(s):
f[ord(v) - ord('A')] = i
for i, v in enumerate(s):
for j in range(ord(v) - ord('A')):
if f[j] > i:
arr = list(s)
arr[i], arr[f[j]] = arr[f[j]], arr[i]
return "".join(arr)
return s
t = int(input())
for _ in range(t):
ss, c = input().split()
s1 = get(ss)
print(s1 if s1 < c else "---")
#include <bits/stdc++.h>
using namespace std;
string s,x;
int q,i,j,vt;
int main()
{
//freopen("ntu.inp","r",stdin);
//freopen("ntu.out","w",stdout);
cin>>q;
while(q--)
{
cin>>s>>x;
for(i=0;i<s.length();i++)
{
vt=i;
for(j=i+1;j<s.length();j++)
if(s[vt]>=s[j]) vt=j;
if(s[vt]<s[i]) { swap(s[vt],s[i]); break; }
}
if(s<x) cout<<s<<'\n'; else cout<<"---"<<'\n';
}
}
580A- Kefa and First Steps | 1472B- Fair Division |
996A - Hit the Lottery | MSNSADM1 Football |
MATCHES Playing with Matches | HRDSEQ Hard Sequence |
DRCHEF Doctor Chef | 559. Maximum Depth of N-ary Tree |
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |
1356. Sort Integers by The Number of 1 Bits | 922. Sort Array By Parity II |
344. Reverse String | 1047. Remove All Adjacent Duplicates In String |
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |