A.如果最小值不在第一个,那最小值都移动不了,肯定无法排序.
a[1]=1即可.1-n排列.
// Problem: A. Jagged Swaps
// Contest: Codeforces - CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
// URL: https://codeforces.com/contest/1896/problem/A
// Memory Limit: 256 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
int qs[N];
void solve() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int mi=INF;
for(int i=1;i<=n;i++){
mi=min(mi,a[i]);
}
if(mi==a[1]){
cout<<"YES"<<'\n';
}else{
cout<<"NO"<<'\n';
}
}
int main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int q;
cin >> q;
while (q--) {
solve();
}
return 0;
}
#############################################################################B.手动模拟,可以发现只要找到第一个A和最后一个B就可以计算出交换次数,第一个A可以+条件得到,B一直更新就是最后一个B,如果没A或者没B就输出0,ans=max(Bindex-Aindex,0).
// Problem: B. AB Flipping
// Contest: Codeforces - CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
// URL: https://codeforces.com/contest/1896/problem/B
// Memory Limit: 256 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
void solve() {
int n;
cin>>n;
string s;
cin>>s;
int ans=0;
int x=0;
int y=0;
bool flag=true;
s=" "+s;
for(int i=1;i<=n;i++){
if(s[i]=='A' && flag){
x=i;
flag=false;
}else if(s[i]=='B'){
y=i;
}
}
if(!x || !y){
cout<<0<<'\n';
return;
}
ans=max(y-x,0);
cout<<ans<<'\n';
}
int main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int q;
cin >> q;
while (q--) {
solve();
}
return 0;
}
C.