Skip to content

Instantly share code, notes, and snippets.

@Nircek
Last active June 20, 2021 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nircek/b114dc449a5df04912f372e3de4f1ba5 to your computer and use it in GitHub Desktop.
Save Nircek/b114dc449a5df04912f372e3de4f1ba5 to your computer and use it in GitHub Desktop.
OI difficulty
100:
1. 8-ant
2. 8-map
3. 6-gra
95:
4. 12-ska
5. 13-kra
6. 17-gil
7. 24-pod
8. 8-prz
9. 5-sum
10. 11-pin
11. 15-pla
12. 24-fla
13. 16-slo
14. 24-sab
15. 9-wys
90:
16. 25-pra
17. 17-tes
18. 22-pie
19. 19-lit
20. 2-zad1
21. 26-klu
22. 4-zad3
23. 11-szp
24. 13-okr
25. 2-zad4
26. 12-sam
85:
27. 4-zad4
28. 28-cuk
29. 28-tab
30. 20-tak
31. 21-bar
32. 6-mon
33. 7-nar
34. 25-pla
35. 24-rep
36. 16-kam
37. 12-ban
80:
38. 21-klo
39. 21-hot
40. 23-par
41. 5-wie
42. 18-liz
43. 28-lic
44. 9-kom
45. 6-pus
46. 20-usu
47. 5-mal
48. 27-nww
49. 9-kol
75:
50. 26-par
51. 27-ukl
52. 4-zad1
53. 25-pow
54. 2-zad2
55. 22-las
56. 25-pio
57. 12-sko
58. 9-zam
59. 4-zad2
70:
60. 28-gra
61. 14-osi
62. 26-rob
63. 15-clo
64. 15-klo
65. 11-zaw
66. 27-pom
67. 7-bro
68. 2-zad3
65:
69. 13-pro
70. 22-kwa
71. 21-kur
72. 14-biu
60:
73. 6-mus
74. 19-ran
75. 3-zad2
76. 18-prz
77. 9-sup
55:
78. 22-kin
79. 17-kor
80. 3-zad3
50:
81. 18-pio
82. 25-roz
45:
83. 27-pis
84. 26-nie
85. 18-kon
86. 12-pun
40:
87. 13-zab
88. 19-odl
89. 5-abs
90. 24-tur
91. 23-kor
92. 14-zap
93. 15-szk
94. 20-mul
95. 3-zad4
35:
96. 14-drz
97. 16-gas
98. 17-naj
30:
99. 19-stu
100. 23-nad
101. 20-cen
102. 23-nim
103. 15-rob
104. 28-gan
105. 8-gra
25:
106. 16-str
107. 7-wir
108. 17-kol
109. 13-tet
20:
110. 11-szn
111. 26-pod
112. 14-atr
113. 22-cza
114. 27-prz
15:
115. 3-zad1
116. 16-prz
117. 11-gra
10:
118. 7-pas
119. 21-waz
120. 23-hyd
5:
121. 19-fes
122. 18-wyk
123. 20-gob
-2147483650:
124. 1
125. 10
95:
1. 27-mar
2. 25-dro
3. 24-str
4. 26-osi
90:
5. 19-roz
6. 6-bit
7. 9-izo*
8. 24-kon
9. 4-add
85:
10. 9-kur
11. 14-grz*
12. 12-ban
13. 26-gwi
14. 19-bon
80:
15. 21-pta
16. 21-prz
17. 16-arc
18. 25-tel
19. 20-mor
75:
20. 18-tem
21. 15-maf
22. 18-roz
23. 11-bra
70:
24. 17-ant*
25. 24-zaw*
26. 12-sum
27. 20-luk
65:
28. 20-kon
29. 16-kon
30. 14-meg
31. 10-mas*
32. 11-prz
60:
33. 8-pod
34. 26-roz*
35. 17-klo
36. 28-pla
37. 9-wyl
55:
38. 21-kar*
39. 28-pro*
40. 24-zam
41. 13-naj
42. 10-pol
43. 11-tur
44. 9-pro
45. 5-ple
46. 15-bbb
47. 4-pal
50:
48. 22-trz
49. 18-smi
50. 10-kaf
51. 3-zad1
52. 24-sum
53. 22-log*
54. 28-ple
55. 10-aut
56. 12-lot*
45:
57. 23-dro
58. 5-okn
59. 25-prz*
60. 15-blo*
61. 23-swi*
62. 26-kol
63. 28-zdj
64. 27-wak*
65. 14-tet
66. 9-dzi
67. 22-pod
68. 11-mos*
69. 15-poc
70. 19-okr
40:
71. 19-sza
72. 12-sza
73. 17-cho
74. 13-met
75. 26-cyk
76. 23-zaj
77. 6-gro
78. 25-kon
79. 18-rot
35:
80. 7-kod
81. 21-raj
82. 21-sup
83. 14-pow
84. 8-spo
85. 17-tel
30:
86. 28-sza
87. 5-row
88. 25-tom
89. 8-wys
90. 6-lun
91. 12-kos
92. 5-pak
93. 3-zad2
94. 22-kur
95. 23-wca
96. 27-tru
97. 7-lab
25:
98. 27-czw
99. 16-lyz
100. 16-prz
101. 22-pus
102. 8-mro
103. 19-tou
104. 7-tro
105. 4-gen
106. 23-ark
107. 16-wys*
108. 13-lis
109. 15-uci
20:
110. 4-rek
111. 17-owc
112. 10-tro
113. 7-aut
114. 27-wie
115. 13-ork
15:
116. 14-ska
117. 18-sej*
118. 3-zad3
10:
119. 20-ins
5:
120. 11-jas
0:
121. 6-lod
-2147483650:
122. 1
123. 2
70:
1. 23-par
65:
2. 20-baj
3. 28-kol*
4. 28-sum
60:
5. 24-mid
6. 1-zad3
7. 20-lan
8. 23-row*
55:
9. 26-wys
10. 22-wil
50:
11. 23-zyw
12. 28-les
13. 17-gra
14. 28-dro
15. 10-gra*
16. 15-sta
45:
17. 26-met*
18. 23-pra
19. 21-mro
20. 25-kom
40:
21. 25-dwa*
22. 25-trz*
23. 20-gra*
24. 5-pro
25. 17-pil
26. 17-zab
27. 16-tab
28. 19-lic
29. 9-min*
30. 12-aut
31. 22-kol
35:
32. 2-slo
33. 5-ban
34. 16-wie*
35. 18-pat
36. 24-oce
37. 24-piz*
38. 21-far*
39. 2-drz
40. 28-naw
41. 20-gdz
42. 14-odw
30:
43. 19-hur
44. 22-odw*
45. 25-tak
46. 12-dwu
47. 25-ddl
48. 15-pod
49. 26-gra
50. 2-sze
51. 24-kuc
52. 5-gra
53. 10-sum
54. 26-zja
55. 10-ska
56. 23-pos
57. 18-ins
58. 18-dyn*
59. 25-wie
60. 10-mal
25:
61. 13-mis
62. 9-szy
63. 14-gaz
64. 1-zad2
65. 9-wag
66. 26-dlu
67. 20-las
68. 1-zad1
69. 13-est
70. 15-tro
71. 11-wys
72. 11-mis
73. 4-ali
20:
74. 17-mon*
75. 15-kup
76. 21-doo
77. 2-poc
78. 26-orn
79. 24-zap
80. 22-mod
81. 25-tur
82. 12-dzi*
83. 19-squ*
84. 28-kom
85. 18-imp
86. 19-pre
87. 15-lam*
88. 6-wod
89. 21-zal
90. 21-pan
91. 18-met
92. 13-zos
93. 14-kol*
94. 7-pol
95. 26-rem
96. 22-wyc
97. 14-klo
15:
98. 23-klu
99. 19-pen
100. 14-wag
101. 6-map
102. 16-pos
103. 5-gon
104. 24-roz
105. 11-zga*
106. 23-nie
107. 15-per
108. 4-rez
109. 13-kry
110. 4-lic
111. 11-wsc
112. 16-wys
113. 9-nar
114. 19-bez
115. 8-lan
116. 18-pro
117. 7-pow
10:
118. 8-nas
119. 9-naw
120. 6-pie
121. 12-pra
122. 6-mag
123. 22-tab
124. 18-okr
125. 9-lic
126. 21-lam
127. 3-zad3
128. 7-pro
129. 25-ogr
130. 10-tas
131. 13-pal
132. 11-mak
133. 21-tur
134. 11-kag
135. 17-mos
136. 7-jaj
137. 12-akc
5:
138. 16-kod
139. 7-age
140. 8-zwi
141. 3-zad1
142. 4-kaj
143. 3-zad4
144. 20-pol
145. 5-naj
146. 14-egz
147. 4-tro
148. 20-lab
149. 8-kop
150. 17-jed
151. 17-lat
152. 6-olt
153. 10-kry
154. 22-myj
155. 3-zad2
156. 16-slo
157. 12-dwa
158. 5-lam
0:
159. 19-wyr
160. 8-ban
161. 12-lus
162. 28-sur
-2147483650:
163. 27
#!/usr/bin/env -S python3 -u
import pandas as pd
from os import linesep
def toFloat(x):
try:
return float(x)
except:
return float('nan')
for stage in (1,2,3):
r = {}
for num in range(1, 29):
print(f'{num}:{stage}... ', end='')
xd = pd.concat(pd.read_html(f'https://oi.edu.pl/l/{num}oi_{stage}etap_wyniki/'))
exs = list(filter(lambda x: len(str(x).replace('uzn.','').replace('*','').replace('.','').replace('zad', 'zd'))==3, xd.keys()))
if len(exs) == 0:
r[str(num)] = -0x80000000
for ex in exs:
scores = list(map(toFloat, xd[ex]))
avg = sum(map(lambda x: 0 if x!=x else x, scores))/len(scores)
key = str(num)+'-'+ex
# print(key, avg)
r[key] = avg
a = sorted(r.items(), key=lambda x: x[1], reverse=True)
res = 5
r = {}
for i, e in enumerate(a):
i, perc, = f'{i+1}. {e[0]}', round(e[1]/res)*res
if perc not in r:
r[perc] = []
r[perc] += [i]
for k, v in r.items():
print(f'\n{k}:\n{linesep.join(v)}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment