рдЕрдВрдХ # 36: рдЖрдИрдЯреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг - рдкреНрд░рдореБрдЦ рдХрдВрдкрдирд┐рдпреЛрдВ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЗ рдФрд░ рдЪреБрдиреМрддрд┐рдпрд╛рдВ

рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░реЛрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ - рдпрд╣рд╛рдБред



рдЯреАрдЬрд╝рд░: рдЕрдЧрд▓реЗ рдЕрдВрдХ рдореЗрдВ рд╣рдо рдПрдХ рдирдП рдкреНрд░рд╛рд░реВрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рд╣рдордиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрдиреА рдХреЗ рд╕рд╛рде рд╕рд╛рдЭреЗрджрд╛рд░реА рдХреА - рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд░рд┐рдЯреЗрд▓рд░ рдЬреЛ рдЕрдкрдиреЗ рдЖрдИрдЯреА рд╡рд┐рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдиреБрдорд╛рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рдЬреИрд╕рд╛ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╡реИрд╕реЗ рд╣реА рдмрдиреЗ рд░рд╣реЗрдВред рдХреЙрд▓рдо рднрд░реНрддреА рдПрдЬреЗрдВрд╕реА рд╕реНрдкрд╛рдЗрд╕ рдЖрдИрдЯреА рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ ред

рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓реЗрдЦ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдпрд╣ рд╣реИ: рд╣рдо 2 рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рд░реНрдо рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо 3 рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛред
рд╕рд╛рде рд╣реА, рд╕рднреА рдкреНрд░рд╢реНрди рдФрд░ рдХрд╛рд░реНрдп рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрдврд╝рддреЗ рдХреНрд░рдо рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред
рддреЛ рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИред

рдкреНрд░рд╢рди


1. рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд▓рд╛рдкрддрд╛ рд░реЛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
рд╣рдореЗрдВ рдПрдХ рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рджреА рдЧрдИ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ 1 рд╕реЗ рд▓реЗрдХрд░ 50 рддрдХ рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЬрдВрдмрд▓реНрдб рд░реВрдк рдореЗрдВ рд╣реИрдВ рдФрд░ 1 рдкреВрд░реНрдгрд╛рдВрдХ рдЧрд╛рдпрдм рд╣реИред рд▓рд╛рдкрддрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдХреЗрд╡рд▓ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
excel, 1 50 . , , . , .

2. рдЯрд┐рдХ рдЯреАрдПрд╕реА рдХреЛ рдкреИрд░ рдХреА рдЕрдВрдЧреБрд▓реА рдкрд╣реЗрд▓реА
рдЯрд┐рдХ-рдЯреИрдХ-рдЯреЛ рдХрд╛ рдЦреЗрд▓ рджреЛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЦреЗрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдЫрд╣ рдЪрд╛рд▓реЛрдВ рдХреЗ рдмрд╛рдж рдиреАрдЪреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
  • рдЧреЗрдо рдХреМрди рдЬреАрддреЗрдЧрд╛, рдУ рдпрд╛ рдПрдХреНрд╕?
  • рдЫрдард╛ рдЕрдВрдХ рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рдФрд░ рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рдерд╛?

рдорд╛рди рд▓реЗрдВ рдХрд┐ рджреЛрдиреЛрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛рдлреА рдмреБрджреНрдзрд┐рдорд╛рди рд╣реИрдВред

рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
- , ( ) .
?
  • , ?
  • 6- ?

, .

рдХрд╛рд░реНрдп


1. рдирд┐рдо рдХреЗ рдЦреЗрд▓ рдХреЗ рд╡рд┐рдЬреЗрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
In Game of Nim, two players take turns removing objects from heaps or the pile of stones.
Suppose two players A and B are playing the game. Each is allowed to take only one stone from the pile. The player who picks the last stone of the pile will win the game. Given N the number of stones in the pile, the task is to find the winner, if player A starts the game.

Input:
The input line contains T, denoting the number of test cases. Then T test case follows, a single line of the input containing a positive integer N.

Output:
Print the winner i.e. Player A or Player B for each testcase in a separate line.

Constraints:
1 <= T <= 100
1 <= N <= 1000


Example:
Input:

2
3
15


рдЖрдЙрдЯрдкреБрдЯ: рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЯреЗрд╕реНрдЯрдХреЗрд╕ 1: рдкреНрд▓реЗрдпрд░ A рдПрдХ рдкрддреНрдерд░ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИ, рдлрд┐рд░ рдЦрд┐рд▓рд╛рдбрд╝реА B рдкрддреНрдерд░ 2 рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА A рдЕрдВрддрд┐рдо рдкрддреНрдерд░ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИред
Player A
Player A





рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
Nim .
, . . , , . N , , , .

:
T, . N .

:
, B, .

:
1 < = T < = 100
1 < = N < = 1000


:
:

2
3
15


:



:
1: 1, , 2,
, , тАФ .

2. рдХрддрд╛рд░ рдЙрд▓рдЯ
Given a Queue Q containing N elements. The task is to reverse the Queue. Your task is to complete the function rev(), that reverses the N elements of the queue.

Input:
The first line of input contains an integer T denoting the Test cases. Then T test cases follow. The first line contains N which is the number of elements which will be reversed. Second line contains N space seperated elements.

Output:
For each testcase, in a new line, print the reversed queue.

Your Task:
This is a function problem. You only need to complete the function revрдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХрддрд╛рд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрд▓рдЯ рдХрддрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИ ред рдореБрджреНрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджреНрд╡рд╛рд░рд╛ рдЪрд╛рд▓рдХ рдХреЛрдб ред

рдмрд╛рдзрд╛рдУрдВ: рдЙрджрд╛рд╣рд░рдг: рдЗрдирдкреБрдЯ: рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЯреЗрд╕реНрдЯрдХреЗрд╕ 1: рдХрддрд╛рд░ рдХреЗ рджрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рдЙрд▓рдЯрдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдореА рдХрддрд╛рд░ 6 2 10 10 3 3 рд╣реЛрдЧреАред рдЯреЗрд╕реНрдЯрдХреЗрд╕ 2: рдХрддрд╛рд░ рдХреЗ рджрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рдЙрд▓рдЯрдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдореА рдХрддрд╛рд░ 1 рд╣реЛрдЧреАред реи рей рек
1 тЙд T тЙд 100
1 тЙд N тЙд 105
1 тЙд elements of Queue тЙд 105




2
6
4 3 1 10 2 6
4
4 3 2 1
Output :

6 2 10 1 3 4
1 2 3 4





рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
Q, N . , . тАФ rev(), N .

:
T, . T . N тАФ , . N .

:
.

:
. rev, . .

:
1 тЙд T тЙд 100
1 тЙд N тЙд 105
1 тЙд тЙд 105


:
:

2
6
4 3 1 10 2 6
4
4 3 2 1

:
6 2 10 1 3 4
1 2 3 4


:
1: 6 2 10 1 3 4.
2: 1 2 3 4.

3. рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рдХреНрдпреВ рдкрд░ рдкрд░рд┐рдЪрд╛рд▓рди
Given N integers, your task is to add these elements to the PriorityQueue. Also, given M integers, the task is to check if element is present in PriorityQueue. If present, print 1 and return the max element of priority queue, and then delete the max element. If not present, print -1.

Input Format:
First line of testcas contains number of testcases T. For each testcase, there will be 4 lines. First line contains N, number of elements to be inserted into the Priority Queue. Second line contains N positive integers separated by space. Third line contains M, fourth line contains M positive integers.

Output Format:
For each testcase, print ┬л1┬╗ and max element in newlines if element to be found is present in the PriorityQueue, else print "-1".

Your Task:
Your task is to complete the functions insert(), find(), and delete(), such that it adds, find and delete the elements from the queue respectively.

Constraints:
1 <= T <= 100
1 <= N <= 103
1 <= M <= 103


Example:
Input:

1
8
1 2 3 4 5 2 3 1
5
1 3 2 9 10


Output:
1
5
1
4
1
3
-1
-1


Explanation:
Testcase 1: After inserting given elements, when we find 1, which is present, so we print 1, and then we print the top element of the PriorityQueue which is 5, and delete it. Similarly, when element is not present, just print "-1".

N , , PriorityQueue. , M , , , PriorityQueue. , 1 , . , -1.

:
. 4 . N тАФ , . N , . M тАФ PriorityQueue, M .

:
┬л1┬╗ , PriorityQueue, "-1".

:
, insert(), find() delete() , , .

:
1 < = T < = 100
1 < = N < = 103
1 <= M < = 103


:
:

1
8
1 2 3 4 5 2 3 1
5
1 3 2 9 10


:
1
5
1
4
1
3
-1
-1


:
1: , PriorityQueue = 1 2 3 4 5 2 3 1. 1 3 2 9 10. ┬л1┬╗ PriorityQueue, ┬л1┬╗ PriorityQueue ┬л5┬╗ . , , "-1".


1
, 1 n (n*(n+1)/2)
1 50
50*(50+1)/2 (, n = 50)
= 50*(51)/2
= 25*51
= 1275.

, , , , 1275. 1275 .

2
O . 9.
:
7- 5, X, O. , 6- , . тАУ 6- 7, 9.

, , 6- 7. 5 .

, X, 9. . , .

1
printf("%s\n",(n % 2) ? "Player A" : "Player B");

2
{
    // add code here.
    stack<long long int> st;
    while(!q.empty())
    {
        int a=q.front();
        st.push(a);
        q.pop();
    }
    while(!st.empty())
    {
        q.push(st.top());
        st.pop();
    }
    return q;
}

3
static void insert(PriorityQueue<integer> q, int k){
q.add(k);
}

static boolean find(PriorityQueue<integer> q, int k){
return q.contains(k);
}

static int delete(PriorityQueue<integer> q){
int removed = q.remove();
return removed;
}

All Articles