Olá queridos leitores. Nós sempre o deliciamos com uma nova seleção de perguntas e tarefas interessantes, de entrevistas a empresas líderes de TI!A propósito, as respostas para os problemas da edição anterior já foram publicadas !
Os problemas serão exibidos toda semana - fique ligado! A coluna é suportada pela agência de recrutamento Spice IT .Nesta semana, coletamos tarefas de entrevistas na empresa indiana MakeMyTrip.Questões
1. 10 moedas de quebra-cabeçaVocê está com os olhos vendados e 10 moedas são colocadas à sua frente na mesa. Você tem permissão para tocar nas moedas, mas não sabe dizer em que direção elas estão. Você foi informado de que há 5 moedas de cabeça para cima e 5 moedas de coroa, mas não quais são quais.
Você pode fazer duas pilhas de moedas, cada uma com o mesmo número de heads-up? Você pode jogar as moedas várias vezes.
Transferir10 . , , . , 5 , («») 5 , («») , — .
, ? .
2. Quebra-cabeça de JornalUm jornal feito de 16 grandes folhas de papel dobradas ao meio. O jornal tem 64 páginas no total. A primeira folha contém as páginas 1, 2, 63, 64.

Se pegarmos uma folha contendo o número de página 45. Quais são as outras páginas que esta folha contém?
Transferir16 , . 64 . 1, 2, 63, 64.

*
, 45. ?
Tarefas
1. Transposição da matrizWrite a program to find transpose of a square matrix mat[][] of size N*N. Transpose of a matrix is obtained by changing rows to columns and columns to rows.
Input:
The first line of input contains an integer T, denoting the number of testcases. Then T test cases follow. Each test case contains an integer N, denoting the size of the square matrix. Then in the next line are N*N space separated values of the matrix.
Output:
For each test case output will be the space separated values of the transpose of the matrix
Constraints:
1 <= T <= 15
1 <= N <= 20
-103 <= mat[i][j] <= 103
Example:
Input:
2
4
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
2
1 2 -9 -2
Output:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 -9 2 -2
Explanation:
Caso de teste 1: A matriz após a rotação será: 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4.
Transferir, mat[][] N*N. .
:
T, . T . N, . N*N .
:
:
1 < = T <= 15
1 < = N <= 20
-103 < = mat[i] [j] < = 103
:
:
2
4
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
2
1 2 -9 -2
:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 -9 2 -2
:
1: : 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4.
2. Zeros à direita em fatorialPara um número inteiro n, encontre o número de zeros à direita em n! .
Entrada:
A primeira linha contém um número inteiro ' T ' indicando o número total de casos de teste. Em cada caso de teste, ele contém um número inteiro ' N '.
Saída:
em cada linha separada, a resposta para o problema.
Restrições: Exemplo: Entrada: Saída:
1 <= T <= 100
1 <= N <= 1000
1
9
1
Transferirn n!.
:
'T', . 'N'.
:
.
:
1 < = T <= 100
1 < = N < = 1000
:
:
1
9
:
1
3. Passos de KnightGiven a square chessboard of N x N size, the position of Knight and position of a target is given. We need to find out minimum steps a Knight will take to reach the target position.
Input:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer n denoting the size of the square chessboard. The next line contains the X-Y coordinates of the knight. The next line contains the X-Y coordinates of the target.
Output:
Print the minimum steps the Knight will take to reach the target position.
Constraints:
1<=T<=100
1<=N<=20
1<=knight_pos,targer_pos<=N
Example:
Input:
2
6
4 5
1 1
20
5 7
15 20
Output:
3
9
N x N . , , .
:
T, . T . n, . X-Y . X-Y .
:
, , .
:
1<=T<=100
1<=N<=20
1<=knight_pos,targer_pos<=N
:
:
2
6
4 5
1 1
20
5 7
15 20
:
3
9
1: .
:
2 . .
:
— , — .
1:
2:
1.
1:
2:
.
245- 46. , P, 65-p .
,
65-45 = 20
65-46 = 19
, — 19, 20, 45, 46.
1O(1) :
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG
{
public static void main (String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
int testCases = Integer.parseInt(br.readLine());
while(testCases-->0){
int size = Integer.parseInt(br.readLine());
int[] arr = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int num = 0;
int i=0;
int total = size*size;
while(num<total && i<size){
if(num >= size*(size-1)) {
System.out.print(arr[num] + " ");
i++;
num = i;
}
else {
System.out.print(arr[num] + " ");
num+=size;
}
}
System.out.println();
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
2import math
for _ in range(int(input())):
n=math.factorial(int(input()))
print(len(str(n))-len(str(n).rstrip("0")))
3#include<bits/stdc++.h>
using namespace std;
void bfs(bool visited[20][20],int n,int x,int y,int X,int Y,int& count){
queue<pair<int,int>>q;
visited[x-1][y-1]=true;
q.push(make_pair(x,y));
q.push(make_pair(0,0));
while(q.size()>1){
x=q.front().first;
y=q.front().second;
if(q.front().first==0 && q.front().second==0){
q.pop();
count++;
q.push(make_pair(0,0));
continue;
}
if(q.front().first==X && q.front().second==Y){
return;
}
if(x>2 && y>1 && visited[x-3][y-2]==false){
visited[x-3][y-2]=true;
q.push(make_pair(x-2,y-1));
}
if(x>2 && y<n && visited[x-3][y]==false){
visited[x-3][y]=true;
q.push(make_pair(x-2,y+1));
}
if(x>1 && y<n-1 && visited[x-2][y+1]==false){
visited[x-2][y+1]=true;
q.push(make_pair(x-1,y+2));
}
if(x<n && y<n-1 && visited[x][y+1]==false){
visited[x][y+1]=true;
q.push(make_pair(x+1,y+2));
}
if(x<n-1 && y<n && visited[x+1][y]==false){
visited[x+1][y]=true;
q.push(make_pair(x+2,y+1));
}
if(x<n-1 && y>1 && visited[x+1][y-2]==false){
visited[x+1][y-2]=true;
q.push(make_pair(x+2,y-1));
}
if(x<n && y>2 && visited[x][y-3]==false){
visited[x][y-3]=true;
q.push(make_pair(x+1,y-2));
}
if(x>1 && y>2 && visited[x-2][y-3]==false){
visited[x-2][y-3]=true;
q.push(make_pair(x-1,y-2));
}
q.pop();
}
}
int main()
{
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int x,y,X,Y;
cin>>x>>y>>X>>Y;
int count=0;
bool visited[20][20]={false};
bfs(visited,n,x,y,X,Y,count);
cout<<count<<'\n';
}
return 0;
}