[Buổi 9][Mảng một chiều][RDD] Bài 32: Găng tay của FullHouse Dev
Găng tay của FullHouse Dev
Bối cảnh
Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.
Yêu cầu
FullHouse Dev vừa mua một chiếc găng tay mới để chuẩn bị cho mùa đông. FullHouse Dev có N ngón tay (kể cả ngón cái) và chiếc găng tay có N ngăn tương ứng. Mỗi ngón tay phải được đưa vào đúng một ngăn.
Bạn được cung cấp độ dài của các ngón tay của FullHouse Dev, từ trái sang phải. Bạn cũng được cung cấp độ dài của các ngăn găng tay, từ trái sang phải khi nhìn từ phía trước.
FullHouse Dev có thể đeo găng tay bình thường (mặt trước của găng tay khớp với mặt trước của tay) hoặc lật ngược găng tay rồi đeo. Trong trường hợp đầu tiên, ngón tay thứ nhất sẽ vào ngăn thứ nhất, ngón tay thứ hai vào ngăn thứ hai, và cứ tiếp tục như vậy. Tuy nhiên, khi lật ngược găng tay, ngón tay thứ nhất sẽ vào ngăn thứ N, ngón tay thứ hai vào ngăn thứ (N-1) và cứ tiếp tục - ngón tay thứ i sẽ vào ngăn thứ N+1-i.
Để đeo găng tay thoải mái, độ dài của mỗi ngón tay phải nhỏ hơn hoặc bằng độ dài của ngăn găng tay mà nó được đưa vào.
Hãy xác định xem FullHouse Dev có thể đeo găng tay bằng cách giữ mặt trước hướng về phía mình, hay bằng cách lật ngược nó. Nếu chỉ có thể đeo theo cách đầu tiên, in ra "front"; nếu chỉ có thể đeo theo cách thứ hai, in ra "back". Nếu cả hai cách đều được, in ra "both", và nếu không thể đeo theo cách nào, in ra "none".
Input
- Dòng đầu tiên chứa một số nguyên T - số lượng test case.
- Với mỗi test case:
- Dòng đầu tiên chứa một số nguyên N - số lượng ngón tay.
- Dòng thứ hai chứa N số nguyên L1, L2, ..., LN - độ dài các ngón tay.
- Dòng thứ ba chứa N số nguyên G1, G2, ..., GN - độ dài các ngăn găng tay.
Output
Với mỗi test case, in ra một dòng chứa một trong các chuỗi "front", "back", "both", hoặc "none".
Ràng buộc
- \(1 ≤ T ≤ 10\)
- \(1 ≤ N ≤ 10^5\)
- \(1 ≤ Li ≤ 10^9\) với mọi i hợp lệ
- \(1 ≤ Gi ≤ 10^9\) với mọi i hợp lệ
Ví dụ 1
Giải thích ví dụ
Test case 1: Găng tay có thể được đeo bình thường. Độ dài các ngăn găng tay là 2, 3, 4. Độ dài các ngón tay là 1, 2, 3. Mỗi ngón tay sẽ vừa với ngăn tương ứng.
Tuy nhiên, nếu FullHouse Dev cố gắng đeo găng tay với mặt sau hướng về phía mình, độ dài các ngăn sẽ là 4, 3, 2. Hai ngón tay đầu tiên sẽ vừa, nhưng ngón thứ 3 sẽ không vừa vì độ dài của nó là 3, trong khi độ dài của ngăn tương ứng chỉ là 2. Do đó, găng tay này chỉ có thể đeo theo một cách, và chúng ta in ra "front".
| Input | Output |
|---|---|
| 4 | |
| 3 | |
| 1 2 3 | |
| 2 3 4 | front |
| 3 | |
| 1 2 1 | |
| 1 2 1 | both |
| 3 | |
| 3 2 1 | |
| 1 2 3 | back |
| 4 | |
| 1 3 2 4 | |
| 1 2 3 5 | none |
Thông tin học tập
- Buổi: B09
- Concepts: 1D arrays, bidirectional validation
- Giới hạn kiến thức: B01-B09
- Time limit: 2 seconds
- Memory limit: 64 MB
- Point: 20
Comments