Nếu bạn chưa chơi golf trước đây, thì đây là danh sách các thuật ngữ liên quan đến golf tôi sử dụng trong câu hỏi này
- Bắn , còn được gọi là đột quỵ : Mỗi lần bóng được đánh, đây là một cú sút.
- Lỗ : Một sân golf được chia thành các lỗ, trong đó mục tiêu là đánh một quả bóng từ vị trí được chỉ định này sang vị trí khác trong càng ít cú đánh càng tốt.
- Tee : Nơi bạn bắt đầu một cái lỗ.
- Pin hoặc Flag : Nơi bạn hoàn thành một lỗ
- Fairway , Rough , Water và Green : Các tính năng trên sân golf ảnh hưởng đến cách người ta chơi bóng trong đời thực. (Làm thế nào chúng ảnh hưởng đến chương trình được chỉ định dưới đây)
Tôi sẽ ra ngoài chơi golf vào ngày mai và tôi thấy rằng đôi khi, tôi gặp khó khăn trong việc tìm ra câu lạc bộ nào sẽ sử dụng để đánh vào một sân nào đó. Vì vậy, tôi quyết định viết ra câu lạc bộ của mình và sân của họ mỗi lần bắn.
Giả định đầu tiên: Tất cả các lỗ là do phía bắc của hộp tee của họ.
Tất cả các sân này đo lường khả năng cho quả bóng đi được bao xa về phía bắc. Quả bóng sẽ đi một khoảng cách nguyên ngẫu nhiên giữa các giới hạn được chỉ định cho mỗi câu lạc bộ (bao gồm).
Là một tay golf bậc thầy, không có cú đánh nào của tôi có sự dịch chuyển ngang. Điều này có nghĩa là tất cả các bức ảnh của tôi đi theo một đường thẳng trực tiếp tại cờ.
Club # Club Yardage
1 Driver 300-330
2 3-Wood 270-299
3 5-Wood 240-269
4 3-Iron 220-239
5 4-Iron 200-219
6 5-Iron 180-199
7 6-Iron 160-179
8 7-Iron 140-159
9 8-Iron 120-139
10 9-Iron 100-119
11 P-Wedge 80-99
12 S-Wedge 50-79
13 L-Wedge 0-49
14 Putter (only on green)
Là một người thích lập trình, tôi quyết định rằng tôi muốn làm mô hình một vòng golf và đặt mục tiêu cho việc tôi muốn làm tốt như thế nào vào ngày mai. Tuy nhiên, giống như bất kỳ lập trình viên nghiệp dư nào, sau mười phút, tôi đã bỏ cuộc và yêu cầu trợ giúp về Stack Overflow (chỉ đùa thôi). Dưới đây là một số dữ liệu về khóa học.
Giả định thứ hai: Lỗ địa lý
Tất cả các số mô tả khoảng cách trên khóa học là số nguyên.
Mỗi lỗ là một đường thẳng. Khoảng cách đường thẳng giữa mỗi lỗ và chốt (điểm cuối của lỗ) là
Length
.Fairways là các đoạn có chiều dài được xác định bởi
flen
. Giá trị được liệt kêflen
là phạm vi sân phía bắc từ tee nơi fairway.Các mối nguy hiểm về nước là các phân đoạn có chiều dài được xác định bởi
wlen
, có các tính chất tương tự nhưflen
.Màu xanh lá cây có chiều dài được xác định bởi
glen
.Tất cả các phần của khóa học không phải là fairway, nước hoặc màu xanh lá cây là thô.
Dưới đây là một biểu đồ mô tả từng lỗ trên khóa học.
Hole # Length flen wlen glen
1 401 54-390 391-425
2 171 1-165 166-179
3 438 41-392 393-420 421-445
4 553 30-281,354-549 282-353 550-589
5 389 48-372 373-404
6 133 125-138
7 496 37-413 414-484 484-502
8 415 50-391 392-420
9 320 23-258 259-303 304-327
Cách chơi Golf (cho chương trình này)
- Luôn luôn nhắm chính xác vào cờ.
- Đánh bóng càng gần chốt càng tốt, cố gắng giữ bóng trên fairway hoặc (tốt nhất là) trên green.
- Khi bạn bắn một phát xuống nước, phát bắn tiếp theo của bạn phải được phát từ cùng một nơi với phát bắn xuống nước.
- Một khi quả bóng rơi trên green, chỉ có thể sử dụng gậy putter. Nếu quả bóng hạ cánh nghiêm ngặt hơn 5 yard từ pin, thì tôi putt hai lần. Nếu không, tôi putt một lần.
- Có thể bắn một phát qua pin.
Chấm điểm
Điểm của tôi trên một cái lỗ là số lần tôi chụp, cộng với một lần cho mỗi lần tôi hạ cánh xuống nước hoặc trong nước.
Chương trình
Được rồi, đó là rất nhiều quy tắc, bây giờ hãy nói về chương trình.
Khóa học nên được xác định như trên trong chương trình , bởi vì khóa học là không đổi. Tuy nhiên, các gôn thủ khác nhau có khoảng cách khác nhau cho mỗi cú đánh, do đó, đầu vào của STDIN phải là một tập hợp các khoảng sân, được sắp xếp theo thứ tự tăng dần số câu lạc bộ và cách nhau bằng dấu phẩy (không có khoảng trắng).
Đầu ra phải là cách tôi "chơi" vòng golf. Số tổ chức nên được chỉ định vào đầu mỗi dòng như Hole #:
nơi #
là lỗ hiện hành. Mỗi cú đánh không phải là cú đánh có dạng sau : {club,distance of shot,condition of ball,distance to pin}
. Các chi tiết của ảnh nên được phân tách bằng dấu phẩy nhưng không có khoảng trắng theo thứ tự trên. Các bức ảnh nên được viết theo thứ tự cách chúng được chơi và cách nhau bởi một khoảng trắng. Khi quả bóng rơi xuống màu xanh lá cây, chương trình sẽ in số lượng gậy tôi lấy, theo định dạng {# putts}
. Ở cuối mỗi dòng, số lượng ảnh tôi chụp trên lỗ phải được tách biệt với các ảnh khác bằng khoảng trắng và được in dưới dạng(#)
. Mỗi lỗ nên nằm trên một dòng riêng và được viết theo thứ tự. Cuối cùng, trên dòng cuối cùng (thứ mười) của chương trình, tổng số ảnh chụp cho vòng nên được in là Total: # shots
.
Không có "chiến lược" nào mà chương trình của bạn bắt buộc phải thực hiện. Bạn có thể viết một chương trình với bất kỳ chiến lược nào bạn muốn. Các chiến lược ví dụ bao gồm tối đa hóa phần trăm cơ hội hạ cánh trên green và tối đa hóa khoảng cách của mỗi lần bắn cho đến khi chạm tới lỗ.
MẪU ĐẦU VÀO
300-330,270-299,240-269,220-239,200-219,180-199,160-179,140-159,120-139,100-119,80-99,50-79,0-49
MẪU ĐẦU RA
Hole 1: {Driver,324,Fairway,77} {S-Wedge,70,Green,7} {Two putts} (4)
Hole 2: {6-Iron,162,Water,171} {6-Iron,168,Green,3} {One putt} (4)
Hole 3: {Driver,301,Fairway,137} {8-Iron,131,Green,6} {Two putts} (4)
Hole 4: {3-Wood,288,Water,553} {3-Wood,276,Fairway,277} {3-Wood,291,Green,14} {Two putts} (6)
Hole 5: {Driver,322,Fairway,67} {S-Wedge,62} {One putt} (3)
Hole 6: {8-Iron,120,Rough,18} {L-Wedge,10,Green,8} {Two putts} (5)
Hole 7: {Driver,325,Fairway,171] {6-Iron,170,Green,1} {One putt} (3)
Hole 8: {Driver,306,Fairway,109} {9-Iron,100,Green,9} {Two putts} (4)
Hole 9: {Driver,308,Green,12} {Two putts} (3)
Total: 36 shots
Tôi sẽ thừa nhận, đây là một thử thách khá tham vọng cho bài đăng đầu tiên trên CG.SE, vì vậy tôi rất vui khi nói về cách cải thiện thử thách này trong các bình luận. Cảm ơn sự giúp đỡ của bạn.
0~299
bãi, xanh từ 300~315
bãi và nước từ 316~330
bãi. Câu lạc bộ nào sẽ được chọn? Điều gì nếu nước được thay thế bằng thô?