Hình nội tiếp

Đề bài

Mô tả

Cho một dãy n hình, mỗi hình có một trong ba loại (các loại của hai hình liên tiếp luôn khác nhau):

  1. hình tròn;
  2. tam giác cân có chiều cao bằng độ dài cạnh đáy;
  3. hình vuông.

Các hình được đặt trên mặt phẳng tọa độ sao cho:

  • hình thứ i+1 nội tiếp trong hình thứ i;
  • cạnh đáy của mọi tam giác song song với trục hoành, đỉnh đối diện với đáy nằm phía trên;
  • các cạnh của mọi hình vuông song song với các trục tọa độ;
  • với mỗi i từ 2 đến n, hình thứ i có kích thước lớn nhất có thể (cạnh lớn nhất với tam giác và hình vuông, bán kính lớn nhất với hình tròn) khi nội tiếp trong hình thứ i1.

Với vị trí và kích thước cố định của hình đầu tiên, toàn bộ cách dựng là duy nhất.

Hãy đếm số điểm phân biệt mà các hình chạm nhau. Đôi khi số điểm này là vô hạn (khi hai hình chạm nhau dọc theo cả một đoạn thẳng).

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, số lượng hình.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an là loại của các hình.

Dữ liệu ra

  • In ra "Infinite" nếu số điểm chạm là vô hạn.
  • Ngược lại in "Finite" ở dòng đầu, và số điểm chạm ở dòng thứ hai. Kết quả được đảm bảo nằm trong kiểu số nguyên 32-bit.

Ràng buộc

  • 2n100
  • 1ai3, aiai+1 với mọi i hợp lệ.

Ví dụ

Input Output Giải thích
3
2 1 3
Finite
7
Tam giác chứa hình tròn (3 điểm chạm), hình tròn chứa hình vuông (4 điểm chạm), tổng cộng 7 điểm.
3
1 2 3
Infinite Tam giác nội tiếp trong hình vuông chạm nhau dọc theo cả một đoạn thẳng (cạnh đáy trùng một phần cạnh vuông), nên số điểm chạm là vô hạn.
3
3 1 2
Finite
6
Hình vuông chứa hình tròn (4 điểm), hình tròn chứa tam giác (3 điểm), nhưng có một điểm chạm bị trùng nên tổng là 6.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0