Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0cf9107

Browse files
add # 79
1 parent 11a62f0 commit 0cf9107

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import os
2+
3+
4+
def get_int():
5+
while True:
6+
x = input()
7+
try:
8+
x = int(x)
9+
return x
10+
except ValueError:
11+
continue
12+
13+
14+
def get_str():
15+
while True:
16+
x = input()
17+
if x:
18+
return x
19+
continue
20+
21+
22+
def main():
23+
key = get_str()
24+
length = get_int()
25+
words = []
26+
27+
max_key_index = 0
28+
longest_key = None
29+
for i in range(length):
30+
w = get_str()
31+
if key in w:
32+
33+
if w.index(key) > max_key_index:
34+
longest_key = w
35+
max_key_index = w.index(key)
36+
37+
words.append(w)
38+
39+
max_key_index += 1
40+
for each in words:
41+
if key in each:
42+
if each.index(key)+1 < max_key_index:
43+
gap = max_key_index - (each.index(key)+1)
44+
print(("*" * gap) + each)
45+
else:
46+
print(each)
47+
else:
48+
print(each)
49+
50+
51+
if __name__ == '__main__':
52+
main()
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
2+
3+
4+
شرکت آنلیم به تازگی یک گاوصندوق جدید خریده است که برای باز کردن آن باید رمز عبور را به درستی وارد کنید. رمز عبور از چند کلمه تشکیل شده است و برای باز کردن قفل، باید یکی از حروف هر کلمه را به صورت عمودی تراز کنید. برای تراز کردن کلمه ها از * در پشت هر کلمه استفاده میکنیم. این گاو صندوق هوشمند است و هر بار کلمه ها و حرف را به برنامه شما میدهد و برنامه شما باید آنها را تراز کند.
5+
6+
برای مثال فرض کنید که به ترتیب 5 کلمه apple و orange و pear و pineapple و durian را داریم و میخواهیم آنها را با حرف a به صورت عمودی تراز کنیم. خروجی برنامه باید مانند عکس زیر باشد.
7+
8+
9+
نکات چالش
10+
اگر حرف مورد نظر در یک کلمه وجود ندارد برنامه باید آن کلمه را نادیده بگیرد و چاپ نکند.
11+
اگر حرف مورد نظر چند بار در یک کلمه تکرار شده بود برنامه باید حرف اول را تراز کند.
12+
استفاده از * باید کمینه باشد.
13+
14+
15+
ورودی
16+
در خط اول ورودی یک حرف آمده است که بر اساس آن حرف باید کلمه ها را با هم تراز کنیم.
17+
18+
در خط دوم ورودی عدد n آمده است که نشانگر تعداد کلمات است.
19+
20+
در n خط بعدی در هر خط یک کلمه آمده است که باید آنها را تراز کنیم.
21+
22+
1 ≤ n ≤ 100
23+
24+
خروجی
25+
در خروجی باید رمز عبور تراز شده با همان ترتیبی که از ورودی دریافت شده است چاپ شود.
26+
27+
ورودی نمونه 1
28+
a
29+
5
30+
apple
31+
orange
32+
pear
33+
pineapple
34+
durian
35+
خروجی نمونه 1
36+
****apple
37+
**orange
38+
**pear
39+
pineapple
40+
durian
41+
در خط اول حرف a آمده است که رمز باید بر اساس آن به صورت عمودی تراز شود. در خط دوم n آمده و در n خط بعدی کلمات آمده است. در نهایت رمز عبور بر اساس حرف a تراز شده و چاپ شده است.
42+
43+
ورودی نمونه 2
44+
e
45+
5
46+
apple
47+
orange
48+
pear
49+
pineapple
50+
durian
51+
خروجی نمونه 2
52+
*apple
53+
orange
54+
****pear
55+
**pineapple
56+
57+
https://unlim.ir/contest/26

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /