A
#include<bits/stdc++.h>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define line cout<<"-----------"<<endl
typedef long long ll;
const int maxn = 1e5+10;
const int MAXN = 1e6+10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9+7;
const int N = 1010;
int main(){
int t;
scanf("%d", &t);
while(t--){
char s[maxn];
scanf("%s", s);
int len = strlen(s);
int a = 0, b = 0, c = 0;
for(int i=0; i<len; i++){
if(s[i] >= 'a' && s[i] <= 'z') a++;
else if(s[i] >= 'A' && s[i] <= 'Z') b++;
else if(s[i] >= '0' && s[i] <= '9') c++;
}
if(a && b && c) {
cout << s << endl;
continue;
}
else if( a && b && !c){
if(a > 1){
for(int i=0; i<len; i++){
if(s[i] >= 'a' && s[i] <= 'z'){
s[i] = '0';break;
}
}
}
else{
for(int i=0; i<len; i++){
if(s[i] >= 'A' && s[i] <= 'Z'){
s[i] = '0';break;
}
}
}
}
else if(a && !b && c){
if(a > 1){
for(int i=0; i<len; i++){
if(s[i] >= 'a' && s[i] <= 'z'){
s[i] = 'A';break;
}
}
}
else{
for(int i=0; i<len; i++){
if(s[i] >= '0' && s[i] <= '9'){
s[i] = 'A';break;
}
}
}
}
else if(!a && b && c){
if(b > 1){
for(int i=0; i<len; i++){
if(s[i] >= 'A' && s[i] <= 'Z'){
s[i] = 'a';break;
}
}
}
else{
for(int i=0; i<len; i++){
if(s[i] >= '0' && s[i] <= '9'){
s[i] = 'a';break;
}
}
}
}
else if(a && !b && !c){
s[0] = '0';
s[1] = 'A';
}
else if(!a && b && !c){
s[0] = 'a';
s[1] = '0';
}
else if(!a && !b &&c){
s[0] = 'a';
s[1] = 'A';
}
cout << s << endl;
}
return 0;
}
B
#include<bits/stdc++.h>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define line cout<<"-----------"<<endl
typedef long long ll;
const int maxn = 1e5+10;
const int MAXN = 1e6+10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9+7;
const int N = 1010;
int main(){
ll l , r;
scanf("%lld%lld", &l, &r);
ll ans = l;
puts("YES");
for (ll i=1; i<=(r-l+1)/2; i++) printf("%lld %lld\n", ans, ans+1) , ans += 2;
return 0;
}
C
#include<bits/stdc++.h>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define line cout<<"-----------"<<endl
typedef long long ll;
const int maxn = 1e5+10;
const int MAXN = 1e6+10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9+7;
const int N = 110;
int a[N], b[N], vis[N];
int main()
{
int n;
scanf("%d", &n);
for(int i = 1; i <= n; ++i) {
scanf("%d", &a[i]);
b[a[i]]++;
}
int A = 0, B = 0, C = 0;
for(int i = 1; i <= n; ++i) {
if(b[a[i]] == 1) {
if(A == B) {
A++;
vis[i] = 1;
}
else {
B++;
vis[i] = 2;
}
}
else if(b[a[i]] == 2) vis[i] = 1;
else C++;
}
if(abs(A - B) > C) puts("NO");
else {
puts("YES");
int ans = abs(A - B);
char ch1, ch2;
if(A > B) ch1 = 'B', ch2 = 'A';
else ch1 = 'A', ch2 = 'B';
for(int i = 1; i <= n; ++i) {
if(vis[i] == 1) printf("A");
else if(vis[i] == 2) printf("B");
else if(ans) {
printf("%c", ch1);
ans--;
}
else printf("%c", ch2);
}
}
return 0;
}
D
#include<bits/stdc++.h>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define line cout<<"-----------"<<endl
typedef long long ll;
const int maxn = 1e5+10;
const int MAXN = 1e6+10;
const int INF = 0x3f3f3f3f;
const int MOD = 998244353;
const int N = 2200;
ll dp[N][N][2][2];
int main(int argc, char const *argv[])
{
ios::sync_with_stdio(false);
int n, k;
cin >> n >> k;
clr(dp);
dp[1][1][0][0] = 1;
dp[1][1][1][1] = 1;
dp[1][2][0][1] = 1;
dp[1][2][1][0] = 1;
for(int i=2; i<=n; ++i){
for(int j=1; j<=2*i; ++j){
dp[i][j][0][0] = (dp[i-1][j][0][0] + dp[i-1][j][0][1] + dp[i-1][j][1][0] + dp[i-1][j-1][1][1]) % MOD;
dp[i][j][1][1] = (dp[i-1][j][1][1] + dp[i-1][j][0][1] + dp[i-1][j][1][0] + dp[i-1][j-1][0][0]) % MOD;
dp[i][j][1][0] = (dp[i-1][j-1][0][0] + dp[i-1][j-1][1][1] + dp[i-1][j][1][0] + dp[i-1][j-2][0][1]) % MOD;
dp[i][j][0][1] = (dp[i-1][j-1][0][0] + dp[i-1][j-1][1][1] + dp[i-1][j][0][1] + dp[i-1][j-2][1][0]) % MOD;
}
}
ll ans = 0;
ans = (dp[n][k][0][0] + dp[n][k][1][0] + dp[n][k][0][1] + dp[n][k][1][1]) % MOD;
cout << ans << endl;
return 0;
}