Finally, progress reached the Madoka family and she decided to play with her little sister in the sensational game Space Arrays.
The rules of the game are as follows:
- Initially, a sequence is given.
- The players alternate turns.
- In each turn, the current player must choose an index and increment , i.e. change to .
- Afterwards, if there is no permutation of the integers through such that holds for each valid , the current player loses.
- Otherwise, the game continues with the next turn.
Madoka is asking you to help her ― tell her if the first player (the player that plays in the first turn) or second player wins this game if both play optimally.
Input
- The first line of the input contains a single integer denoting the number of test cases. The description of test cases follows.
- The first line of each test case contains a single integer .
- The second line contains space-separated integers .
Output
For each test case, print a single line containing the string "First"
if the first player wins or "Second"
if the second player wins (without quotes).
Constraints
- The sum of over all test cases doesn't exceed
- for each valid
Subtasks
Subtask #1 (100 points): Original constraints
Sample 1:
Input
Output
4 4 1 2 3 3 4 1 1 3 3 5 1 2 2 1 5 3 2 2 3
First Second Second Second
Explanation:
Example case 1:
- If the first player increases the fourth element, the resulting sequence is . The second player loses after increasing any of the elements.
- If the first player increases the second element, the resulting sequence is , and he loses because there is no valid permutation. For example if , the second element of is greater than the second element of .
Code(C++):-
#include <iostream>
#include<algorithm>
using namespace std;
int main() {
// your code goes here
int t;
cin>>t;
for (int j=0; j<t; j++){
int n;
cin>>n;
int arr[n];
long long count=0;
for (int i=0; i<n; i++){
cin>>arr[i];
}
int flag=0;
std::sort(arr,arr+n);
for (int i=0; i<n; i++){
if (arr[i]<i+1){
count += i+1-arr[i];
}
if (arr[i]>i+1){
flag=-1;
break;
}
}
if (flag==0){
if (count%2==1){
cout<<"First"<<endl;
}
else{
cout<<"Second"<<endl;
}
}
else{
cout<<"Second"<<endl;
}
}
return 0;
}
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 n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=sc.nextInt();
Arrays.sort(a);
int sum=0;
boolean is=true;
for(int i=0;i<n;i++){
if(a[i]<=(i+1)){
sum=sum+i+1-a[i];
}
else{
is=false;
break;
}
}
if(!is)
System.out.println("Second");
else{
if(sum%2==0)
System.out.println("Second");
else
System.out.println("First");
}
}
}
}
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