1594C - Make Them Equal - CodeForces Solution


brute force greedy math strings *1200

Please click on ads to support us..

Python Code:

t = int(input())
for i in range(t):
    n,k = map(str,input().split())
    n = int(n)
    s = input()
    ns = [0]*n
    count = 0
    for j in range(len(s)):
        if s[j]!=k:
            ns[j] = 1
            count+=1
    if count == 0:
        print(0)
    else:
        pos = False
        for k in range(n//2,n):
            if(ns[k] == 0):
                pos = True
                print(1)
                print(k+1)
                break
        if(not pos):
            print(2)
            print(n,n-1)

C++ Code:

#include<bits/stdc++.h>
/*
author:- laksheya_0809
*/
using namespace std;

#define int long long
#define ii pair<int, int>
#define vi vector<int>
#define pb push_back
#define ppb pop_back
#define vvi vector<vi>
#define vii vector<ii>
#define ln << '\n'
#define sz(x) (int)((x).size())
#define _for(s, n, upd) for(int i = s; i < n; i+=upd)
#define rep(i, s, n) for(int i = s; i < (n); i++)
#define all(x) (x).begin(), (x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define fill(x, y) memset(x, y, sizeof x) 
#define mp map
#define ump unordered_map
const int MOD = 1000000007;

bool isprime(int x) {
    if(x==1) return false;
    for(int i = 2; i <= sqrt(x); i++)
        if(x%i == 0)
            return false;
    return true;
}

void sol() {
    int n;
    char c;
    cin >> n >> c;
    string s; cin >> s;

    bool flag = 1;
    rep(i, 0, n) 
        flag &= s[i] == c;

    if(flag) {
        cout << 0 ln; 
        return;
    }

    for(int i = 2; i <= n; i++) {
        flag = 1;
        for(int j = i; j <= n; j+=i) 
            flag &= s[j-1] == c;
        if(flag) {
            cout << 1 ln << i ln;
            return;
        }
    }
    
    cout << 2 ln << n << " " << n-1 ln;
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t = 1;
    cin >> t;
    while(t--) sol();
    return 0;
}


Comments

Submit
0 Comments
More Questions

1593C - Save More Mice
1217. Minimum Cost to Move Chips to The Same Position
347. Top K Frequent Elements
1503. Last Moment Before All Ants Fall Out of a Plank
430. Flatten a Multilevel Doubly Linked List
1290. Convert Binary Number in a Linked List to Integer
1525. Number of Good Ways to Split a String
72. Edit Distance
563. Binary Tree Tilt
1306. Jump Game III
236. Lowest Common Ancestor of a Binary Tree
790. Domino and Tromino Tiling
878. Nth Magical Number
2099. Find Subsequence of Length K With the Largest Sum
1608A - Find Array
416. Partition Equal Subset Sum
1446. Consecutive Characters
1618A - Polycarp and Sums of Subsequences
1618B - Missing Bigram
938. Range Sum of BST
147. Insertion Sort List
310. Minimum Height Trees
2110. Number of Smooth Descent Periods of a Stock
2109. Adding Spaces to a String
2108. Find First Palindromic String in the Array
394. Decode String
902. Numbers At Most N Given Digit Set
221. Maximal Square
1200. Minimum Absolute Difference
1619B - Squares and Cubes