1006D - Two Strings Swaps - CodeForces Solution


implementation *1700

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

int main() {
    cout.sync_with_stdio(0);
    cin.tie(0);

    int n; cin >> n;
    string a,b; cin >> a >> b;
    int res = 0;
    for (int i = 0, j = n-1; i <= j; i++, j--) {
        if (i == j) {
            if (a[i] != b[i]) res += 1;
            continue;
        }
        int cnt[26], ai = a[i]-'a', aj = a[j]-'a', bi = b[i]-'a', bj = b[j]-'a';
        cnt[ai] = 0, cnt[bi] = 0, cnt[aj] = 0, cnt[bj] = 0;
        cnt[ai]++, cnt[bi]++, cnt[aj]++, cnt[bj]++;
        if (cnt[bi] == 1 && cnt[bj] == 1) res+=2;
        else if (cnt[bi] > 1 && cnt[bj] > 1) {
            if (cnt[ai] > 1 && cnt[aj] > 1) continue;
            else res += 1;
        }
        else res += 1;
    }
    cout << res << endl;

    return 0;
}


Comments

Submit
0 Comments
More Questions

Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
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