ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(未完)Codeforces Round #798 (Div. 2) AB...

2022-06-18 00:03:51  阅读:176  来源: 互联网

标签:... AB ++ Codeforces int solve cnt2 cnt1 ans


Codeforces Round #798 (Div. 2)

https://codeforces.com/contest/1689
菜鸟来补题了。。。还妹写完
AB过的有些出乎意料,毕竟我是乱构造的

A. Lex String

A要干啥来着,,不记得了,明天看看

#include <bits/stdc++.h>

using namespace std;

void solve () {
    int n, m, k;
    cin >> n >> m >> k;
    string s, t, ans;
    cin >> s >> t;

    sort (s.begin (), s.end ()), sort (t.begin (), t.end ());
    //cout << s << endl << t << endl;

    int cnt1 = 0, cnt2 = 0;
    for (int i = 0, j = 0; i < s.size () &&j < t.size (); ) {
        if (abs (cnt1 - cnt2) >= k) {
            if (cnt1 > cnt2)
                ans += t[j], j ++, cnt1 = 0, cnt2 ++;
            else
                ans += s[i], i ++, cnt1 ++, cnt2 = 0;
            continue;
        }

        if (s[i] > t[j])
            ans += t[j], j ++, cnt2 ++, cnt1 = 0;
        if (s[i] < t[j])
            ans += s[i], i ++, cnt1 ++, cnt2 = 0;

    }
    cout << ans << endl;
}

int main () {
    int t;
    cin >> t;
    while (t --) {
        solve ();
    }
}

B. Mystic Permutation

直接从小到大排,不行就交换位置

#include <bits/stdc++.h>

using namespace std;
const int N = 1005;
int a[N], b[N];

void solve () {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i ++)
        cin >> a[i], b[i] = i;
    if (n == 1) {
        cout << -1 << endl;
        return ;
    }
    for (int i = 1; i < n; i ++)
        if (a[i] == b[i])
            swap (b[i], b[i + 1]);
    if (b[n] == a[n])   swap (b[n], b[n - 1]);
    
    for (int i = 1; i <= n; i ++)
        cout << b[i] << ' ';
    cout << endl;

}

int main () {
    int t;
    cin >> t;
    while (t --) {
        solve ();
    }
}

//构造
//每一个位置都要不一样且字典序最小
//感觉很爽,瞎构造的竟然过了

标签:...,AB,++,Codeforces,int,solve,cnt2,cnt1,ans
来源: https://www.cnblogs.com/CTing/p/16387418.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有