Problem:-
You are given two integers and . You need to construct two different strings and consisting of only the characters and , such that the following conditions are satisfied:
- Both and are palindromes.
- Both and should contain exactly occurrences of and occurrences of .
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 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
- Otherwise, print two lines — the first should contain the string and the second should contain
- If there are multiple possible answers, you may print any of them.
Constraints
Sample 1:
Input
Output
2 2 4 3 3
abbbba babbab -1
Explanation:
Test case : The three palindromes containing -s and -s are and . Printing any two of these is a valid answer.
Test case : There are no palindromes containing each of and .
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:-
iMocha coding Questions:-
Tech Mahindra coding questions:-
Unthinkable Solutions coding questions:-
- Swap the adjacent characters of the string
- Double the vowel characters in the string
- Character with their frequency
- Program to find the closest value
Must check this:-
Companies interview:-
- Swap adjacent characters
- Double the vowel characters
- Check valid parenthesis
- Print the characters with their frequencies
- Find closest value
- Word Count
- Program of CaesarCipher
- Program to find the perfect city
- Annual Day | Tech Mahindra coding question
- Find the number of pairs in the array whose sum is equal to a given target.
Full C course:-
Key points:-
- How to set limit in the floating value in python
- What is boolean data type
- How to print any character without using format specifier
- How to check that given number is power of 2 or not
- How to fix limit in double and floating numbers after dot (.) in c++
- How to print a double or floating point number in scientific notation and fixed notation
- How to take input a string in c
- How to reduce the execution time of program in c++.
Cracking the coding interview:-
Array and string:-
Tree and graph:-
Hackerearth Problems:-
- Very Cool numbers | Hacker earth solution
- Vowel Recognition | Hackerearth practice problem solution
- Birthday party | Hacker earth solution
- Most frequent | hacker earth problem solution
- program to find symetric difference of two sets
- cost of balloons | Hacker earth problem solution
- Chacha o chacha | hacker earth problem solution
- jadu and dna | hacker earth solution
- Bricks game | hacker earth problem
- Anti-Palindrome strings | hacker earth solution
- connected components in the graph | hacker earth data structure
- odd one out || hacker earth problem solution
- Minimum addition | Hackerearth Practice problem
- The magical mountain | Hackerearth Practice problem
- The first overtake | Hackerearth Practice problem
Hackerrank Problems:-
- Playing With Characters | Hackerrank practice problem solution
- Sum and Difference of Two Numbers | hackerrank practice problem solution
- Functions in C | hackerrank practice problem solution
- Pointers in C | hackerrank practice problem solution
- Conditional Statements in C | Hackerrank practice problem solution
- For Loop in C | hackerrank practice problem solution
- Sum of Digits of a Five Digit Number | hackerrank practice problem solution
- 1D Arrays in C | hackerrank practice problem solution
- Array Reversal | hackerrank practice problem solution
- Printing Tokens | hackerrank practice problem solution
- Digit Frequency | hackerrank practice problem solution
- Calculate the Nth term | hackerrank practice problem solution
Data structure:-
- Program to find cycle in the graph
- Implementation of singly link list
- Implementation of queue by using link list
- Algorithm of quick sort
- stack by using link list
- program to find preorder post order and inorder of the binary search tree
- Minimum weight of spanning tree
- Preorder, inorder and post order traversal of the tree
MCQs:-
0 Comments