Header Ads Widget

Palindrome Pain | codechef solution

 Problem:-

You are given two integers  and . You need to construct two different strings 1 and 2 consisting of only the characters  and , such that the following conditions are satisfied:

  1. Both 1 and 2 are palindromes.
  2. Both 1 and 2 should contain exactly  occurrences of a and  occurrences of b.

If there are multiple possible answers, you may print any of them. If it is not possible to construct two distinct strings satisfying the conditions, print 1 instead.

Input Format

  • The first line of input will contain a single integer , denoting the number of test cases. Then the test cases follow.
  • Each test case consists of a single line of input containing two space-separated integers ,.

Output Format

For each test case:

  • If it is not possible to construct two distinct strings satisfying the conditions, print 1
  • Otherwise, print two lines — the first should contain the string 1 and the second should contain 2
  • If there are multiple possible answers, you may print any of them.

Constraints

  • 11000
  • 1,103

Sample 1:

Input
Output
2
2 4
3 3
abbbba
babbab
-1

Explanation:

Test case 1: The three palindromes containing 2 a-s and 4 b-s are abbbba,babbab, and bbaabb. Printing any two of these is a valid answer.

Test case 2: There are no palindromes containing 3 each of a and b.

Code(c++):-

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

void solve() {
int X, Y; cin >> X >> Y;
if((X%2==1 && Y%2==1) || X==1 || Y==1) {
cout << -1 << endl;
return;
}
string s1(X/2, 'a');
s1.append(Y/2, 'b');
string s2(s1);
reverse(s2.begin(), s2.end());
cout << s1;
if(X%2==1)
cout << 'a';
if(Y%2==1)
cout << 'b';
cout << s2 << endl;
cout << s2;
if(X%2==1)
cout << 'a';
if(Y%2==1)
cout << 'b';
cout << s1 << endl;
}

int main() {
ios_base::sync_with_stdio(false), cin.tie(nullptr);
int T; cin >> T;
while(T--)
solve();
}

Code(Java):-

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        Scanner sc=new Scanner(System.in);
        int T=sc.nextInt();
        while(T-->0){
         int a=sc.nextInt();
         int b=sc.nextInt();
         if((a%2==1 && b%2==1) || a==1 || b==1){
         System.out.println("-1");
         }
         else if(a%2==0 && b%2==0){
         String str="";
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         for(int i=0;i<b;i++){
         str+="b";
         }
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         System.out.println(str);
         str="";
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         for(int i=0;i<a;i++){
         str+="a";
         }
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         System.out.println(str);
         }
         else if(a%2==0){
         String str="";
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         for(int i=0;i<b;i++){
         str+="b";
         }
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         System.out.println(str);
         str="";
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         str+="b";
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         System.out.println(str);
         }
         else if(b%2==0){
         String str="";
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         for(int i=0;i<a;i++){
         str+="a";
         }
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         System.out.println(str);
         str="";
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         str+="a";
         for(int i=0;i<b/2;i++){
         str+="b";
         }
         for(int i=0;i<a/2;i++){
         str+="a";
         }
         System.out.println(str);
         }
        }
    }
}

Recommended Post :-

HCL Coding Questions:-

Capgemini Coding Questions:-

Companies interview:-

Full C course:-    

Key points:-

Cracking the coding interview:-

 Array and string:-

Tree and graph:-

Hackerearth Problems:-

Hackerrank Problems:-

Data structure:-

 MCQs:-