Hola queridos lectores. ¡Una y otra vez lo deleitamos con una nueva selección de preguntas y tareas interesantes, desde entrevistas a empresas de TI líderes!Por cierto, ¡las respuestas a los problemas del número anterior ya se han publicado !
Los problemas aparecerán cada semana. ¡Estén atentos! La columna está respaldada por la agencia de reclutamiento Spice IT .Esta semana recopilamos tareas de entrevistas en la compañía india MakeMyTrip.Preguntas
1. Rompecabezas de 10 monedasTienes los ojos vendados y 10 monedas se colocan frente a ti en la mesa. Se le permite tocar las monedas, pero no puede saber qué sentido tienen. Se le dice que hay 5 monedas en la cabeza y 5 monedas en la cola, pero no cuáles son cuáles.
¿Puedes hacer dos pilas de monedas cada una con el mismo número de caras? Puedes voltear las monedas cualquier cantidad de veces.
Transferir10 . , , . , 5 , («») 5 , («») , — .
, ? .
2. Periódico PuzzleUn periódico hecho de 16 grandes hojas de papel dobladas por la mitad. El periódico tiene 64 páginas en total. La primera hoja contiene las páginas 1, 2, 63, 64.

Si recogemos una hoja que contiene el número de página 45. ¿Cuáles son las otras páginas que contiene esta hoja?
Transferir16 , . 64 . 1, 2, 63, 64.

*
, 45. ?
Tareas
1. Transposición de la 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 prueba 1: La matriz después de la rotación 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. Ceros al final en factorialPara un entero n, encuentre el número de ceros finales en n! .
Entrada:
La primera línea contiene un número entero ' T ' que indica el número total de casos de prueba. En cada caso de prueba, contiene un entero ' N '.
Salida:
en cada línea separada, la respuesta al problema.
Restricciones: Ejemplo: Entrada: Salida:
1 <= T <= 100
1 <= N <= 1000
1
9
1
Transferirn n!.
:
'T', . 'N'.
:
.
:
1 < = T <= 100
1 < = N < = 1000
:
:
1
9
:
1
3. Pasos del caballeroGiven 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;
}