Bowling Strategy Codechef Solution

Hello Programmers In this post, you will know how to solve the Bowling Strategy Codechef Solution.

Bowling Strategy Codechef Solution
Bowling Strategy Codechef Solution

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Codechef by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Problem

In a cricket game, an over is a set of six valid deliveries of balls performed by one player ― the bowler for this over.

Consider a cricket game with a series of NN overs (numbered 11 through NN) played by KK players (numbered 11 through KK). Each player may be the bowler for at most LL overs in total, but the same player may not be the bowler for any two consecutive overs. Assign exactly one bowler to each over in such a way that these rules are satisfied or determine that no such assignment exists.

Input

  • The first line of the input contains a single integer TT denoting the number of test cases. The description of TT test cases follows.
  • The first and only line of each test case contains three space-separated integers NN, KK and LL.

Output

For each test case:

  • If there is no valid assignment of bowlers to overs, print a single line containing the integer −1−1.
  • Otherwise, print a single line containing NN space-separated integers. For each valid ii, the ii-th of these integers should be the number of the player assigned as the bowler for the ii-th over.

Constraints

  • 1≤T≤301≤T≤30
  • 1≤N,K,L≤10,0001≤N,K,L≤10,000

Example Input

2
4 3 2
5 4 1

Example Output

1 2 3 2
-1

Explanation

Example case 1: The following is a valid assignment:

  • Bowler 1 bowls the 11-st over.
  • Bowler 2 bowls the 22-nd and 44-th overs.
  • Bowler 3 bowls the 33-rd over.

It is valid since no bowler bowls more than 22 overs and each two consecutive overs have different bowlers.

Example case 2: There is no valid assignment in which each of 44 players bowls at most 11 over out of 55.

Bowling Strategy CodeChef Solution in JAVA

import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
	public static void main (String[] args) throws java.lang.Exception
	{
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		while(T-- >0)
		{
		    int N = sc.nextInt();
		    int K = sc.nextInt();
		    int L = sc.nextInt();
		    if((N>K*L) || (K == 1 && N>1))
		    {
		        System.out.println(-1);
		    }
		    else
		    {
		        int count = 0;
	            for (int i=0; i<L; i++)
		        {
		            for (int j=0; j<K; j++)
		            {
		                if(count<N)
		                {
		                    System.out.print(j+1);
		                    System.out.print(" ");
		                    count++;
		                }
		                else
		                {
		                    break;
		                }
		            }
		            if(count<N)
		            {
		                continue;
		            }
		            else
		            {
		                break;
		            }
		        }
		        System.out.println("");
		    }
		}
	}
}
Ezoicreport this ad

Bowling Strategy CodeChef Solution in CPP

#include <iostream>
using namespace std;
int main() {
    int T, N, K, L;
    cin >> T;
    for (int i = 0; i < T; i++) {
        cin >> N >> K >> L;
        if (N == 1) cout << 1;
        else if (K != 1 && N <= K * L) {
            for(int j = 0; j < N; j++) {
                cout << (j % K) + 1 << " ";
            }
        } else cout << -1 ;
        cout << endl;
    }
}

Bowling Strategy CodeChef Solution in Python

from sys import stdin,stdout
t=int(stdin.readline())
for __ in range(t):
    n,k,l = map(int,stdin.readline().split())
    if (n>1 and k==1) or n/l>k:
        stdout.write("-1\n")
    else:
        stdout.write(" ".join([str((i%k)+1) for i in range(n)])+"\n")

Disclaimer: The above Problem (Bowling Strategy) is generated by CodeChef but the solution is provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Note:- I compile all programs, if there is any case program is not working and showing an error please let me know in the comment section. If you are using adblocker, please disable adblocker because some functions of the site may not work correctly.

Next: World Record Codechef Solution

Sharing Is Caring

Leave a Comment

Ezoicreport this ad