Given a grid of size n x len filled with lowercase characters. We can swap two adjacent characters in the same row and column. Now we have to check whether it is possible to arrange in such a order that every row and every column in the grid is lexicographically sorted.

Examples:

Input : abcde fghij olmkn trpqs xywuv Output : Yes Explanation : The grid can be rearranged as abcde fghij klmno pqrst uvwxy

The idea to do the above problem is really simple we can simply sort the characters in the same row and then just

check column vise if the new grid is sorted column vise or not. Please not that sorting is possible with adjacent swaps (Bubble sort for example does only adjacent swaps)

The implementation of the above idea is given below.

## C++

// C++ program to check if we can make a // grid of character sorted using adjacent // swaps. #include <bits/stdc++.h> using namespace std; // v[] is vector of strings. len is length // of strings in every row. bool check(vector<string> v, int len) { int n = v.size(); for (int i = 0; i < n; i++) sort(v[i].begin(), v[i].end()); for (int i = 0; i < len-1; i++) for (int j = 0; j < n; j++) if (v[i][j] > v[i+1][j]) return false; return true; } // Driver code int main() { vector<string> v = { "ebcda", "ihgfj", "klmno", "pqrst", "yvwxu" }; int len = 5; // Length of strings check(v, len)? cout << "Yes" : cout << "No"; return 0; }

## Python

# Python program to check if we can make a # grid of character sorted using adjacent # swaps. # v[] is vector of strings. len is length # of strings in every row. def check(v, l): n = len(v) for i in v: i = ''.join(sorted(i)) for i in range(l - 1): for j in range(n): if (v[i][j] > v[i + 1][j]): return False return True # Driver code v = [ "ebcda", "ihgfj", "klmno", "pqrst", "yvwxu" ] l = 5 # Length of strings if check(v, l): print "Yes" else: print "No" # This code is contributed by Sachin Bisht

Output:

Yes

This article is contributed by **Sarthak Kohli**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.