| # | Problem | Pass Rate (passed user / total user) |
|---|---|---|
| 11417 | String Operation |
|
| 12261 | Matrix |
|
Description
Given a set of strings, perform the operations according to the following commands, and output the final result of the given set of strings.
Commands:
s n m: Swap the nth string and the mth string.
i n m: Insert the mth string at the tail of the nth string.
si n m: Swap the specified strings first, and then insert.
is n m: Insert first, and then swap the two specified strings.
e: Exit.
Consider a set of strings:
ab
cd
ef
And a sequence of commands:
s 0 1
i 1 2
The result will be:
cd
abef
ef
You will be provided with main.cpp and function.h, and asked to implement function.cpp.
Input
The first line is an integer N indicating the number of input strings.
The following N lines each contains one input string.
Starting from the N+2th line will be a sequence of commands.
Output
Output the final result of the input strings.
Sample Input Download
Sample Output Download
Partial Judge Code
11417.cppPartial Judge Header
11417.hTags
Discuss
Description
Create a class Matrix to represent an N * N matrix.
Provide public member functions that perform or derive:
1) Matrix(const Matrix &); // copy constructor
2) Matrix &clockwise90();
Rotate a Matrix by 90° clockwise.

NOTE:
If a is a Matrix, the result of a.clockwise90() should be stored back into a. Remember to return the object itself for the use of operation concatenation, such as a.clockwise90().clockwise90(). (You can refer to member function “Matrix &operator=” in function.h.)
3) Overload the stream extraction operator (>>) to read in the matrix elements.
4) Overload the stream insertion operator (<<) to print the content of the matrix row by row.
Note that all of the integers in the same line are separated by a space, and there is a new line character at the end of each line.
Note:
1. This problem involves three files.
- function.h: Class definition of Matrix.
- function.cpp: Member-function definitions of Matrix.
- main.cpp: A driver program to test your class implementation.
You will be provided with function.h and main.cpp, and asked to implement
2. For OJ submission:
Step 1. Include function.h into function.cpp and then implement your function.cpp. (You don’t need to modify function.h and main.cpp)
Step 2. Submit the code of function.cpp into submission block.
Step 3. Check the results and debug your program if necessary.
Input
The first line has an integer N (1<=N<=50), which means the size of the matrix. The total number of elements in the matrix is thus N * N.
For the next N lines specify the elements of the matrix a. All of the integers in the same line are separated by a space.
Output
Your program should print the corresponding results followed by a new line character.