n personas están haciendo cola para comprar boletos de entrada para el carnaval. Las personas presentes allí creen firmemente en la caballería. Por lo tanto, en el tiempo = t, si un hombre en la posición x encuentra a una mujer de pie detrás de él, entonces intercambia su posición con ella y, por lo tanto, en el tiempo = t+1, la mujer está de pie en la posición x mientras que el hombre está detrás de ella.
Dado el número total de personas en una cola como n, un instante particular de tiempo como t y la disposición inicial de la cola en forma de una string que contiene ‘M’ que representa al hombre en la posición i y ‘W’ que representa a la mujer en la posición i, averigüe la disposición de la cola en el tiempo = t.
Ejemplos:
Input : n = 6, t = 2 BBGBBG Output: GBBGBB Explanation: At t = 1, 'B' at position 2 will swap with 'G' at position 3 and 'B' at position 5 will swap with 'G' at position 6. String after t = 1 changes to "BGBBGB". Now at t = 2, 'B' at position = 1 will swap with 'G' at position = 2 and 'B' at position = 4 will swap with 'G' at position 5. String changes to "GBBGBB". Since, we have to display arrangement at t = 2, the current arrangement is our answer. Input : n = 8, t = 3 BBGBGBGB Output: GGBGBBBB
C++
// CPP program to find the arrangement // of queue at time = t #include <bits/stdc++.h> using namespace std; // prints the arrangement at time = t void solve(int n, int t, string s) { // Checking the entire queue for // every moment from time = 1 to // time = t. for (int i = 0; i < t; i++) for (int j = 0; j < n - 1; j++) /*If current index contains 'B' and next index contains 'G' then swap*/ if (s[j] == 'B' && s[j + 1] == 'G') { char temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; j++; } cout << s; } // Driver function for the program int main() { int n = 6, t = 2; string s = "BBGBBG"; solve(n, t, s); return 0; }
Java
// Java program to find the arrangement // of queue at time = t import java.io.*; class Geek { // prints the arrangement at time = t static void solve(int n, int t, char s[]) { // Checking the entire queue for // every moment from time = 1 to // time = t. for (int i = 0; i < t; i++) for (int j = 0; j < n - 1; j++) /*If current index contains 'B' and next index contains 'G' then swap.*/ if (s[j] == 'B' && s[j + 1] == 'G') { char temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; j++; } System.out.print(s); } // Driver function public static void main(String args[]) { int n = 6, t = 2; String s = "BBGBBG"; char str[] = s.toCharArray(); solve(n, t, str); } }
Python3
# Python program to find # the arrangement of # queue at time = t # prints the arrangement # at time = t def solve(n, t, p) : s = list(p) # Checking the entire # queue for every # moment from time = 1 # to time = t. for i in range(0, t) : for j in range(0, n - 1) : # If current index # contains 'B' and # next index contains # 'G' then swap if (s[j] == 'B' and s[j + 1] == 'G') : temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; j = j + 1 print (''.join(s)) # Driver code n = 6 t = 2 p = "BBGBBG" solve(n, t, p) # This code is contributed by # Manish Shaw(manishshaw1)
C#
// C# program to find the arrangement // of queue at time = t using System; class Geek { // prints the arrangement at time = t static void solve(int n, int t, char[] s) { // Checking the entire queue for // every moment from time = 1 to // time = t. for (int i = 0; i < t; i++) for (int j = 0; j < n - 1; j++) /*If current index contains 'B' and next index contains 'G' then swap.*/ if (s[j] == 'B' && s[j + 1] == 'G') { char temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; j++; } Console.Write(s); } // Driver function public static void Main(String[] args) { int n = 6, t = 2; String s = "BBGBBG"; char []str = s.ToCharArray(); solve(n, t, str); } } // This code is contributed by parashar...
PHP
<?php // PHP program to find // the arrangement of // queue at time = t // prints the arrangement // at time = t function solve($n, $t, $s) { // Checking the entire // queue for every // moment from time = 1 // to time = t. for ($i = 0; $i < $t; $i++) { for ($j = 0; $j < $n - 1; $j++) { /*If current index contains 'B' and next index contains 'G' then swap*/ if ($s[$j] == 'B' && $s[$j + 1] == 'G') { $temp = $s[$j]; $s[$j] = $s[$j + 1]; $s[$j + 1] = $temp; $j++; } } } echo ($s); } // Driver code $n = 6; $t = 2; $s = "BBGBBG"; solve($n, $t, $s); // This code is contributed by // Manish Shaw(manishshaw1) ?>
Javascript
<script> // Javascript program to find the arrangement // of queue at time = t // prints the arrangement at time = t function solve( n, t, st) { // Checking the entire queue for // every moment from time = 1 to // time = t. let s = st.split(''); for (var i = 0; i < t; i++) for (var j = 0; j < n - 1; j++) /*If current index contains 'B' and next index contains 'G' then swap*/ if (s[j] == 'B' && s[j + 1] == 'G') { var temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; j++; } document.write(s.join('')); } // Driver function for the program var n = 6, t = 2; var s = "BBGBBG"; solve(n, t, s); //This code is contributed by Shubham Singh </script>