Thảo luậnSnackDown Online Qualifier 2017 - Temple Land

3 bài đăng
21.05.2017 / 14:55
MrKen
Bài đăng: 2653
Trùm!
Vẫn là A N H

Các con rắn muốn xây một ngôi đền cho Lord Cobra. Có nhiều dải đất mà họ đang xem xét, tuy nhiên chưa thấy cái nào phù hợp. Họ cần dải đất giống với Cobra. Bạn cần tìm ra những dải đất nào thỏa mãn.

Mỗi dải đất có một chiều dài xác định. Dải đất thứ i dài Ni và chiều cao của các ô đất tuần tự là Hi1, Hi2, .. HiNi. Có nghĩa là dải đất được chia thành Ni ô với chiều cao đã cho. Dải đất hợp lệ khi và chỉ khi thỏa mãn các điều kiện sau:

- Có một ô “trung tâm” khác biệt. Đó là nơi chiếc đền thực sự được xây. Ở trung tâm có

nghĩa là số ô bên trái bằng với số ô bên phải.

- Hi1 = 1

- Các độ cao tăng dần đúng 1 đơn vị nếu bạn đi từ ô bên trái nhất tới ô trung tâm.

- Các độ cao giảm dần đúng 1 đơn vị nếu bạn đi từ ô trung tâm tới ô phải nhất. Có nghĩa là ô HiNi sẽ bằng 1.

Nhiệm vụ của bạn là quan sát tất cả các dải đất và xem chúng có thỏa mãn hay không.

Dữ liệu vào

- Dòng đầu tiên chứa một số nguyên S là số lượng dải đất bạn cần quan sát. Mỗi dải đất

được miêu tả như sau

- Dòng đầu tiên trong miêu tả dải đất thứ i chứa một số nguyên Ni là độ dài và số ô mà dải

đất đó chia ra.

- Dòng tiếp theo chứa Ni số nguyên Hi1, Hi2, .., HiNi là độ cao các ô trong dải đất thứ i.

Dữ liệu ra

- Với mỗi dải đất, in ra một dòng là “yes” nếu dải đất hợp lệ và “no” nếu không thỏa mãn.

Ràng buộc

- 1 ≤ S ≤ 100

- 3 ≤ Ni ≤ 100

- 1 ≤ Hij ≤ 100

Vı́du ̣

Input:

TEXT
  1. 7
  2. 5
  3. 1 2 3 2 1
  4. 7
  5. 2 3 4 5 4 3 2
  6. 5
  7. 1 2 3 4 3
  8. 5
  9. 1 3 5 3 1
  10. 7
  11. 1 2 3 4 3 2 1
  12. 4
  13. 1 2 3 2
  14. 4
  15. 1 2 2 1

Output:

TEXT
  1. yes
  2. no
  3. no
  4. no
  5. yes
  6. no
  7. no

Giải thích

Dải đất đầu tiên hợp lệ vì tất cả điều kiện đều thỏa mãn.

Dải đất thứ hai không hợp lệ vì không bắt đầu từ 1.

Dải đất thứ ba không hợp lệ vì vẫn tăng sau khi đi qua trung tâm.

Dải đất thứ tư không hợp lệ vì không tăng và giảm đúng 1 đơn vị.

Dải đất thứ 5 hợp lệ vì thỏa mãn tất cả điều kiện.

Dải đất thứ 6 và thứ 7 không có ô trung tâm. Bởi với mỗi ô, hoặc là có số ô bên phải nhiều hơn hoặc là có số ô bên trái nhiều hơn. Do đó cả hai dải đất đầu không phù hợp.

____________

Time Limit: 1 secs

Source Limit: 50000 Bytes

Languages: ADA, ASM, BASH, BF, C, C99 strict, CAML, CLOJ, CLPS, CPP 4.3.2, CPP 4.9.2, CPP14, CS2, D, ERL, FORT, FS, GO, HASK, ICK, ICON, JAVA, JS, LISP clisp, LISP sbcl, LUA, NEM, NICE, NODEJS, PAS fpc, PAS gpc, PERL, PERL6, PHP, PIKE, PRLG, PYPY, PYTH, PYTH 3.4, RUBY, SCALA, SCM chicken, SCM guile, SCM qobi, ST, TCL, TEXT, WSPC

21.05.2017 / 16:52
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Cái này hay nè. Kiếm nhiều vào nhé :48:

21.05.2017 / 16:53
Cvhungs20
Bài đăng: 55
Member
Vnlove.tk
CPP
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int n, k;
  5. int main() {
  6. cin >> n;
  7. for (int i = 1; i <= n; i++) {
  8. cin >> k;
  9. int x;
  10. bool ok = true;
  11. if (k % 2 == 0) {
  12. ok = false;
  13. for (int j = 1; j <= k; j++) cin >> x;
  14. } else {
  15. int kk = (k + 1) / 2;
  16. for (int j = 1; j <= kk; j++) {
  17. cin >> x;
  18. if (x != j) ok = false;
  19. }
  20. for (int j = kk - 1; j >= 1; j--) {
  21. cin >> x;
  22. if (x != j) ok = false;
  23. }
  24. }
  25. if (!ok) cout << "no\n";
  26. else cout << "yes\n";
  27.  
  28. }
  29. return 0;
  30. }
Đã chỉnh sửa. MrKen (21.05.2017 / 22:06)