Đóng góp tính năng
posted on June 16, 2020, 11:39 p.m.
Theo nguyện vọng của các bạn,
tạo một blog để các bạn đề xuất, đóng góp thêm các tính năng mới. Các bạn có thể comment đề xuất của mình vào đây, đồng thời có thể upvote để đồng tình với các đề xuất của người khác. Để tiện truy cập, sẽ đặt một đường link tới blog này là một mục con "Suggestions" bên trong "Chat" trong thanh điều hướng. Các ý kiến đóng góp sẽ được phản hồi trong thời gian sớm nhất!
Comments
Mình xin đề xuất có thể đổi gmail đăng nhập nhé!
Mình xin đề xuất đói với giáo viên cho thêm chúc năng đưa đề và test lên ạ. cho phép gv tải test sữa bài a.
Thầy/cô có thể đăng ký với admin để set tài khoản có tính năng này ạ.
Em xin đề xuất 1 chức năng này có thể rất hiệu quả trong contest: cho phép giới hạn số bài nộp tối đa có thể nộp 1 lúc với 1 account(ví dụ với 1 acc ta có thể nộp tối đa 1 hoặc 2 lần cùng lúc)
Em xin đề xuất được download testcase khi AC bài tập đó không ạ? Vì thực ra để mà if test thì cũng chẳng khác gì nhau lắm
Bạn có thể liên hệ với author của bài tập đó thông qua kênh chat để lấy testcase, nên là download testcase cũng không cần thiết lắm
Um nhưng nếu mình download thẳng testcase những bài mình AC thay vì việc hỏi author thì nó sẽ tiện hơn nhiều ấy bạn, hơn nữa mình cũng muốn download testcase với số lượng lớn ;-;
dạ em xin ý kiến là cho phép download testcase khi đã AC bài tập được ko ạ?
Em đề xuất là nên bỏ phần chat chung đi ạ, vì có rất nhiều bạn trẻ cấp 1 chat nhảm, spam, nói tục, ... không hay ạ
mình đề xuất là có thể cho một admin nào đó quản lý chat, có ai chat nhảm sẽ xoá tin nhắn hoặc nếu mà lặp lại nhiều lần thì ban không cho chat
các admin cũng bận việc chứ không có thời gian đi quản từng người đâu bạn ơi.
khi mà mở chat chung như thế thì cũng ngầm định là các bạn phải tự ý thức rồi. mấy trẻ trâu chưa biết phải trái đúng sai nên mới hành xử như thế.
chat chung có một lợi ích là giúp các bạn giao lưu, trao đổi bài tập, contest này kia. ngoài ra còn tạo một sự thoải mái, cởi mở nhất định.
hình phạt cho spam: có thể thêm report và bạn đấy bị "cấm khẩu" - không cho chat nữa.
hoặc chế độ tin nhắn chậm (delay) trên discord ấy: ví dụ mấy kênh quá đông user thì mỗi người có cooldown 10s giữa 2 tin nhắn.
nói chung cũng có vài hướng giải quyết, nên để mấy anh quyết định thôi :v
hồi xưa còn làm bài trên trang lequydon cũ thì khung chat cũng nhiều spam lắm, lúc chuyển qua đây thì bên đó chỉ còn hỏi bài không :D
đr đó ông đề xuất rất hay toàn spam ko à:(
dark mode ạ
Nếu được thì mấy ad làm kênh youtube, hay tóp tóp để tụi em tiện theo dõi, học hỏi từ những video, qua đó còn giúp lan tỏa LQDOJ cho nhiều người :)) .
Theo em nghĩ thì LQDOJ nên có những bài viết những trang code khác, ví dụ: DMOJ, Codeforces, ... để các bạn có nhiều dạng bài tập hơn, làm quen với đấu trường bên ngoài giúp "lên tay" những cao thủ code tài năng.
Em nói rõ ý tưởng hơn chút, anh chưa hiểu lắm
Ý em là muốn mấy ad lâu lâu viết mấy bài viết lên phần News về một số trang khác (như trên), và có thể mấy ad giới thiệu mấy bài problem hay contest gì đó nổi bật bên mấy trang kia để chúng em lên tay í anh!
Cảm ơn anh đã rep!
Anh rep là em on liền, do mấy bữa nay máy trục trặc xíu hehe 😍!
Mong admin cho chức năng đổi tên acc ạ :(
This comment is hidden due to too much negative feedback. Click here to view it.
Mình có thể lợi dụng cái này để truyền file giữa hai máy khác nhau, nên cái này cũng không hẳn là lỗi
This comment is hidden due to too much negative feedback. Click here to view it.
Em xin đề xuất một tính năng mới (khá giống bên Codeforces) là không cho phép submit cùng 2 code cùng 1 bài giống nhau hơn 80\% (hiện tại bên LQDOJ em chưa thấy tính năng này). Nếu điều này được thông qua thì em nghĩ sẽ hay lắm ạ :))) (Dù vẫn còn vài bất cập, em nghĩ vậy)
cùng 1 cá nhân hay sao em?
Dạ ở bên Codeforces thì em chưa thấy chuyện chặn nộp 2 code giống nhau của 2 users khác nhau (em chỉ tình cờ thấy tính năng này khi em làm bài bên đó, em không rảnh lập thêm nick mới để kiểm tra). Nhưng em nghĩ nếu anh làm được cả tính năng mở rộng này (2 users khác nhau vẫn không thể nộp 2 code giống nhau) thì em nghĩ sẽ loại bỏ được cả các vấn đề tiêu cực có liên quan đến code như chép code, "mượn" code từ người khác, từ Solution, spam submission, ... (trừ if_test) đấy ạ. Còn nếu không thì các anh làm chỉ cục bộ thôi (chỉ 1 user mới không được nộp 2 code giống nhau) cũng được ạ.
Nhưng anh đang nghĩ là nếu đã muốn chép code thì họ vẫn có thể thêm những dòng vô dụng như comment hay gì khai báo bậy gì đó, nên cũng khó ngăn chặn hết được.
với điều kiện là 2 code đều ac, chứ có vài bài nộp đi nộp lại cùng 1 code nó mới ac mà :v
Em nghĩ là nếu web để ở chế độ tiếng Việt thì cho nó tiếng Việt hết luôn đi ạ, chứ lúc e để tiếng Việt thì nó lại nửa Việt nửa Anh khó chịu lắm ạ :<
Do có nhiều chỗ chưa dịch nên nó không ra tiếng việt á. Cái này là do anh dịch thiếu :(
Dạ anh, mà nó chủ yếu ở trang admin á anh, nó cứ lẫn lộn Việt Anh. Còn ở web chính thì đã ổn rồi anh ạ
uh trang admin thì anh lười dịch nên nó bị thế, lúc nào rảnh anh sẽ cố gắng dịch thêm
Mình cx thấy thế nhưng dùng hoài quen rồi :)))
Em suggest anh tạo câu đố tháng á anh. Em đề xuất tạo một phần riêng cho chủ đề
Câu đố tháng
. Trong câu đố tháng là một bài tập đặc biệt không có trong mụcProblem
, giải được sẽ được tặng số một số điểm theo độ khó của bài. Người làm code tối ưu nhất, tối ưu nhì và tối ưu ba cho mỗi ngôn ngữ khi hết tuần sẽ được vinh danh bằng một trophy nhỏ gửi vào phầnCâu đố tháng
để thu thập ạ.Và em cũng đề xuất
Câu đố tháng
này (nếu được thông qua) sẽ được quyết định dựa trên các admin (hoặc các problem-setter nếu được sự cho phép của admin) để đảm bảo tính công bằng về mặt độ khó ạ (vì nếu dễ quá thì thà đừng đặt nó làm câu đố, còn nếu khó quá thì chẳng ai làm được cả) :)))Hiện nay bên mình có một lỗi như sau: Sau khi upload bộ test mới (B) lên thay thế bộ test cũ (A) thì dữ liệu là (B) nhưng hiển thị vẫn là (A), gây khó khăn trong việc xem test sai của các bạn :(
cái này hình như chỉ lỗi khi xem submission status đúng không? nếu được thì em rejudge lại là được, vì output cũ cũng không xóa đi được.
Dạ đúng ạ, khi up bộ test mới lên, khi check lại thì output của bộ test cũ vẫn còn, vì vậy em phải mất công clone file testcase ra 1 folder khác, rất mất thời gian ạ 😔
Mong admin bổ sung tính năng
download testcases
.Bài tập trên đây rất đa dạng và hay nên mình muốn download testcases để cho các bạn trong đội tuyển làm thử offline. Ngoài ra còn giúp các bạn trên download về tham khảo nữa ạ, mình xin cảm ơn.
Hiện nay có thể downnload test về được nhưng chỉ có admin/ tác giả của bài tập đấy.
Thêm tính năng tự đổi tên tài khoản đi ạ !!
Em nghĩ anh nên thêm tính năng chat với một ai đó ạ
Suggest một số tính năng ở phần bình luận:
1) Tính năng spoiler ở phần bình luận:
Đôi khi sẽ có các bạn muốn viết spoiler cho bài tập nhưng không muốn để bị lộ ra, vậy các admin có thể thêm tính năng viết spoiler như ở vnoj ấy ạ.
Tất cả phần spoiler sẽ được đặt trong dấu
>!
.Những spoiler được đặt trong dấu
>!
này sẽ được ẩn đi dưới dòng chữ REVEAL SPOILER! và user nào đã nộp bài tập quá 5 lần nhưng bị các lỗi như TLE, WA, IR, MLE, .... mới có thể xem được. Bạn nào đã AC bài tập thì có thể xem nó để học hỏi nhau về những cách làm hay.2) Thêm các tính năng ở khung viết bình luận công thức toán học như: phép lấy tổng, phân số (\frac{M}{N}), dấu căn (bậc hai, bậc ba, ...), các ký hiệu toán học khác để dành cho những bạn viết spoiler nhưng vẫn chưa biết cách viết các ký hiệu đó như thế nào.
3) Đính kèm trên khung comment nội quy bình luận tại trang (không spam , không đưa code lên comment, không comment nhảm, không đúng chủ đề, viết spoiler nhưng không để vào khung spoiler (đã đề cập ở trên), ...). Nếu ai vi phạm nội quy bình luận thì sẽ có các mức độ phạt (do các admin thống nhất và có thể đưa vào nội quy bình luận).
Em nghĩ anh nên cho số CLB công khai được tham gia tăng lên 5 thay vì 3 ạ
ok em
Dạ em cảm ơn anh
Các admin có thể thêm vào mục Write Editorial vào tất cả các bài tập được không ạ? Khi có ai đó viết vào mục này thì các admin sẽ duyệt xem editorial nào ổn thì thêm cái này vào phần Editorial chứ em thấy nhiều bạn viết Editorial ở dưới phần comment rất hay mà không được chọn vào phần Editorial ấy ạ.
Có một giải pháp tạm thời cho các bạn như sau : sử dụng tính năng open ticket (mở báo cáo). Ngoài ra có thể tag tác giả của bài tập vào theo cú pháp
[ user:handle ]
để người ta có thể thấy được và xem xét thêm lời giải của các bạn vào phần "Đọc lời giải".Tính năng này khá hay :D.
À như vậy cũng được đó anh nhỉ :D
This comment is hidden due to too much negative feedback. Click here to view it.
Hehehe =)
em nghĩ lqdoj nên tạo một contest có rating về ngày đà nẵng bị lockdown đi ạ.Nếu thấy hợp lí thì cho 1 vote nha :))
+1
+2 :))
:))
Em nghĩ nên up mấy bài bên http://lequydon.ntucoder.net/Home qua trang này để làm bài cho tiện.
em suggest có thêm màn hình tối đi thầy :D
Dùng thêm extension Dark Reader: https://chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh?hl=en
nhưng cái này nó làm mờ một vài thứ khó chịu lắm
This comment is hidden due to too much negative feedback. Click here to view it.
rank đỏ thực chất vẫn là rank bình thường nhưng mà của người có rating cao
This comment is hidden due to too much negative feedback. Click here to view it.
rank đỏ là max rồi :))
Sửa lại tag cho
Input
vàOutput
trở lại giống DMOJ ban đầu.Có một công cụ chuyên parse sample test case trên các trang web (Codeforces, Atcoder, Google Code Jam, ...) , là Competitive Companion. Competitive Companion sẽ dựa vào HTML structure của trang problem để parse sample test case tự động, nên user không cần phải copy và paste sample test case về thủ công.
HTML structure:
Thay vì để
giống với DMOJ, thì LQDOJ lại sử dụng
Trong khi đó, DMOJ parser của Competitive Companion lại tìm tag
<h4>
để đọc sample test case, dẫn đến việc không parse được test case từ LQDOJ (trong khi với một số fork của DMOJ như VNOJ thì lại hoạt động bình thường).This comment is hidden due to too much negative feedback. Click here to view it.
https://en.gravatar.com/support/faq/, mục đầu tiên
nhớ thêm là email trong Gravatar phải trùng email trong LQDOJ
Em thấy nên bỏ việc limit không quá 3 tổ chức công khai đi anh.
Mình suggest thêm tính năng cho phép xem code của người khác khi mình đã AC 1 bài nào đó. Như vầy sẽ tạo điều kiện cho mọi người học hỏi nhau tốt hơn.
cái đó có r mà bạn
em suggest là nên có dark theme mấy anh ơi
Em đề xuất nên thêm ngôn ngữ Pypy ạ.
Theo em nghĩ anh thêm ngôn ngữ c++17.
This comment is hidden due to too much negative feedback. Click here to view it.
Em nghĩ trong contest nếu nộp lại bài mà kết quả vẫn như submit cũ thì em nghĩ nên lấy thời gian nộp từ submit cũ chứ không phải lấy thời gian submit mới nộp thêm vào, giống như contest trên cf ạ :v
đúng rồi anh, nhiều lúc đang đứng ở
rank
cao mà nộp bài lại cái bị tụtrank
luôn :((This comment is hidden due to too much negative feedback. Click here to view it.
Anh thêm tính năng tag trên chatbox đi anh
.
Anh để cái khung comment này lên trên được không anh :V chứ em cứ lướt xuống thì sẽ có ngày lướt cả tiếng đồng hồ không xong anh ạ =))
Ok em. Anh cập nhật luôn rồi. Hiện tại bị một bug nhỏ là Ctrl + Enter chưa chạy được. Anh sẽ fix sau.
Anh ơi fix nhanh lên chứ thế này thì sẽ có lúc mà lướt hết ngày ko hết đó a:((
Anh sửa rồi mà em.
E dùng Ctrl + Enter ko đc a ơi
t cũng thế :(
Hi
Anh cho tính năng sort code theo từng bài cho mỗi đặc tính như : độ dài code tăng dần, thời gian thực hiện code tăng dần đi anh
This comment is hidden due to too much negative feedback. Click here to view it.
||Spoiler
Đây em nhé. Nhưng mà chưa thêm code được
||
Cách gõ là
dạ cảm ơn anh
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
Em nhắn lộn nha :))
Em nghĩ nên có tính năng gỡ cmt của mình
Công nhận em làm mấy trang kiểu atcoder quen tay copy code xuống dưới nộp thỉnh thoảng nộp nhầm sol xuống phần cmt :(
This comment is hidden due to too much negative feedback. Click here to view it.
Anh sửa comment thành 1 dấu chấm là được.
e nghĩ là phải nâng cấp máy chấm chứ như contest này thì ko ổn
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
Ok em, anh sẽ thử cài. Còn hiện tại thì những bạn thi sai div sẽ không được tính rating.
đúng vậy
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
Có vẻ như users k được tham gia hai contest cùng một lúc, nên em suggest là xóa bỏ hạn chế này đi :))
Cái này hơi khó thực hiện trong thời gian ngắn vì mục problems bây giờ đang hiển thị các bài trong contest. Tụi em nghĩ sao nếu a đặt nút leave contest ở nhiều chỗ thuận tiện hơn (trang problems, trang chủ)?
khi tham gia mỗi contest thì luôn có một cái banner hình chữ nhật màu đen xuất hiện khắp mọi nơi á, anh có thể thêm nút leave contest trên đó :))
chứ em nghĩ k nên đặt nút leave ở nhiều trang khác nhau, sợ là loãng giao diện mất.
chuẩn luôn, nhiều lúc muốn thì cũng phải thoát ra vào lại khá phiền
This comment is hidden due to too much negative feedback. Click here to view it.
Về cơ bản là BQT k tính rating, mà là có một hệ thống riêng để tính rating :))
Mình nghĩ là nếu như contest unrated thì vẫn có thể nới lỏng hạn chế này, chứ tất nhiên không thể tham gia hai contest rated cùng một lúc.
Ở bên codeforces vẫn có thể tham gia hai contest cùng một lúc mà, và hình như bên đó vẫn chưa có trường hợp xếp lịch cho hai contest rated trùng khung giờ, nên chắc không sao.
This comment is hidden due to too much negative feedback. Click here to view it.
mình nghĩ nên cho tính năng nói chuyện với bạn bè khi cả hai đều đang trong wed
Tính năng đang được phát triển bởi CaiWinDao nhé bạn.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.
darK:VVV
This comment is hidden due to too much negative feedback. Click here to view it.
Ủa a thấy nó vẫn hiện thời gian mà
admin có thể thêm phần báo cáo lỗi được k ạ
Tạo một blog cho báo cáo lỗi riêng được không bạn?
I found this bug
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Suggestion: thêm chức năng contest & problem proposal như CF (có thể set chức năng này cho những thành viên có rating trên một ngưỡng nào đó)
Em click vào about->proposal trên navbar nhé.
Dạ, ý em là mình có thể propose ngay trên site thay vì email ý ạ, bởi vậy nên em mới bảo là giống như CF.
Cơ mà hiện tại thì em nghĩ chắc cũng chưa cần tạo trang propose riêng đâu :))
:)) Proposal trong group chu Global thi phai xin phep Coordinator roi ong
Anh ơi, sửa phần thống kê sao cho mình nhấn vào màu xanh lá là thấy bài AC, màu đỏ là thầy bài WA, màu đen là thấy bài TLE được không ạ
Em xài cái hộp filter(lọc) bên phải được mà. Có filter by verdict đó
ad thêm màu trong cái phần bảng rating như bên dmoj cho nó dễ nhìn chứ màu trắng khó nhìn quá :v
Đổi sang cam như CF được không e?
hay là mình chia lại màu rating như màu codeforces anh nhỉ, có đủ newbie-pupil-specialist-expert-CM-master-IM-GM-IGM-LGM =)
chắc phải đợi đông user hơn em, chứ ít user thì dùng hệ thống của Topcoder nó chuẩn hơn. Còn rating 3000 là LGM đó.
=)) tinh len red-black rank a ong
lát các bạn cho xin code tham khảo vs ::((
suggest update: thêm 1 cái blog suggest update cho riêng anh SPyofgame để em dễ phân biệt chứ thế này em loạn lắm :)
:)) thế nên em mới inbox riêng ad một khoảng bằng những gì em comment mấy ngày nay anh ạ
test
testSuggest Update: Recent Actions
0) Functions
Advance\ Mode(on/off), chuyển sang dạng cụ thể các chi tiết hơn hoặc tối giản hóa để nhẹ mượt
Goto, khi click vào một Recent\ Action thì nó sẽ đưa tới vị trí đó luôn
Recent\ x\ actions là giới hạn x hoạt động được hiển thị (x \leq default(1000))
Recent\ x\ days là giới hạn thời gian của các hoạt động cần hiển thị (x \leq default(366))
1) Recent Submissions
2) Recent Comments
3) Recent Chats
4) Recent Administration Actions
Anh nói hết ra 1 lượt luôn đc k. Chứ thế này loạn quá
:v Em suggest trực tiếp ad rồi nên anh không cần lo em spam bên đây nữa đâu ạ
Em nghĩ là anh nằm trong ban ad luôn là tối ưu nhất ấy 0w0
lmao làm ad mệt lắm bạn
làm ad là lên CM r làm
lmao, em mới cyan\approx :((
t 3 năm mới lên lo j
em rating âm ạ :(
bằng niềm tin à
feed khó lắm mới âm đc
feed cả năm may ra OwO
Suggest Update: Spoiler
1) Spoiler
Đôi khi có nhiều comment khá dài, hoặc đoạn comment về code, nếu có spoiler thì nhìn nó gọn hơn nhiều
Em thấy Spoiler đôi khi cũng làm mấy trò hay ho ad ạ UwU
Spoiler dạng cuộn như Codeforces để giữ code và làm gọn comment UwU
Spoiler dạng ẩn như Discord để ẩn mấy đoạn nhỏ lẻ. Chứ có vài từ cần Hint nhưng quan trọng mà dùng Spoiler cuộn cách cả dòng thì hơi kì UwU
Về mặt tính năng thì nghe khá hay, tuy nhiên nếu xét về mặt công dụng : Mình chỉ mới thấy cái này có ích khi viết editorial vào phần bình luận (*). Ngoài ra còn một ứng dụng khá hay khác là ẩn code mẫu trong editorial đi (nếu có). Tuy nhiên không phục vụ được ý (*) thì không ảnh hưởng quá nhiều vì tính năng đọc hướng dẫn của trang mình hiện tại đang rất là tốt.
Test
Done
<button id="bt_1" type="button" onclick="{ document.getElementById('bt_1').style.visibility = 'hidden'; document.getElementById('bt_2').style.visibility = 'visible'; document.getElementById('bt_3').style.visibility = 'visible'; document.getElementById('div1').style.display='' document.getElementById('div2').style.display='none' document.getElementById('div3').style.display='none' }" style="visibility:hidden"> F1
<button id="bt_2" type="button" onclick="{ document.getElementById('bt_1').style.visibility = 'visible'; document.getElementById('bt_2').style.visibility = 'hidden'; document.getElementById('bt_3').style.visibility = 'visible'; document.getElementById('div1').style.display='none' document.getElementById('div2').style.display='' document.getElementById('div3').style.display='none' }" style="visibility:"> F2
<button id="bt_3" type="button" onclick="{ document.getElementById('bt_1').style.visibility = 'visible'; document.getElementById('bt_2').style.visibility = 'visible'; document.getElementById('bt_3').style.visibility = 'hidden'; document.getElementById('div1').style.display='none' document.getElementById('div2').style.display='none' document.getElementById('div3').style.display='' }" style="visibility:hidden"> F3
<label>
<label id="div1" style="display:">
</label>
<label id="div2" style="display:none">
</label>
<label id="div3" style="display:none">
</label>
</label>
<html>
<head>
TROLL
TROLL
<break>TROLL
TROLL
</break>TROLL
TROLL
<break>TROLL
TROLL
</break>TROLL
TROLL
<break>TROLL
TROLL
</break><title>Page Title</title>
</head>
<body>
</html>
<html>
<style> canvas { border:1px solid #d3d3d3; background-color: #f1f1f1; } </style><head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body onload="startGame()"> <script> var myGamePiece; var myObstacles = []; var myScore; function startGame() { myGamePiece = new component(30, 30, "red", 10, 120); myGamePiece.gravity = 0.05; myScore = new component("30px", "Consolas", "black", 280, 40, "text"); myGameArea.start(); } var myGameArea = { canvas : document.createElement("canvas"), start : function() { this.canvas.width = 480; this.canvas.height = 270; this.context = this.canvas.getContext("2d"); document.body.insertBefore(this.canvas, document.body.childNodes[0]); this.frameNo = 0; this.interval = setInterval(updateGameArea, 20); }, clear : function() { this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); } } function component(width, height, color, x, y, type) { this.type = type; this.score = 0; this.width = width; this.height = height; this.speedX = 0; this.speedY = 0; this.x = x; this.y = y; this.gravity = 0; this.gravitySpeed = 0; this.update = function() { ctx = myGameArea.context; if (this.type == "text") { ctx.font = this.width + " " + this.height; ctx.fillStyle = color; ctx.fillText(this.text, this.x, this.y); } else { ctx.fillStyle = color; ctx.fillRect(this.x, this.y, this.width, this.height); } } this.newPos = function() { this.gravitySpeed += this.gravity; this.x += this.speedX; this.y += this.speedY + this.gravitySpeed; this.hitBottom(); } this.hitBottom = function() { var rockbottom = myGameArea.canvas.height - this.height; if (this.y > rockbottom) { this.y = rockbottom; this.gravitySpeed = 0; } } this.crashWith = function(otherobj) { var myleft = this.x; var myright = this.x + (this.width); var mytop = this.y; var mybottom = this.y + (this.height); var otherleft = otherobj.x; var otherright = otherobj.x + (otherobj.width); var othertop = otherobj.y; var otherbottom = otherobj.y + (otherobj.height); var crash = true; if ((mybottom < othertop) || (mytop > otherbottom) || (myright < otherleft) || (myleft > otherright)) { crash = false; } return crash; } } function updateGameArea() { var x, height, gap, minHeight, maxHeight, minGap, maxGap; for (i = 0; i < myObstacles.length; i += 1) { if (myGamePiece.crashWith(myObstacles[i])) { return; } } myGameArea.clear(); myGameArea.frameNo += 1; if (myGameArea.frameNo == 1 || everyinterval(150)) { x = myGameArea.canvas.width; minHeight = 20; maxHeight = 200; height = Math.floor(Math.random()*(maxHeight-minHeight+1)+minHeight); minGap = 50; maxGap = 200; gap = Math.floor(Math.random()*(maxGap-minGap+1)+minGap); myObstacles.push(new component(10, height, "green", x, 0)); myObstacles.push(new component(10, x - height - gap, "green", x, height + gap)); } for (i = 0; i < myObstacles.length; i += 1) { myObstacles[i].x += -1; myObstacles[i].update(); } myScore.text="SCORE: " + myGameArea.frameNo; myScore.update(); myGamePiece.newPos(); myGamePiece.update(); } function everyinterval(n) { if ((myGameArea.frameNo / n) % 1 == 0) {return true;} return false; } function accelerate(n) { myGamePiece.gravity = n; } </script><button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.05)">ACCELERATE</button>
Use the ACCELERATE button to stay in the air
How long can you stay alive?
</body></html>
-1
None !-1
--2
None !--2
---3
----4
None !----4
Treasure Found !
----4
None !----4
-----5
None !-----5
None !-----5
None !
-----5
------6
-------7
None !-------7
None !-------7
None !-------7
--------8
None !--------8
None !--------8
None !--------8
None !-----5
None !-----5
None !
-----5
------6
None !
------6
None !
------6
None !
------6
None !
-----5
None !----4
None !----4
None !----4
None !---3
None !---3
----4
None !----4
None !
Game :v
-1
None !-1
None !-1
None !-1
--2
None !-1
None !-1
None !-1
None !-1
None !
-1
None !-1
None !
-1
--2
None !--2
None !-1
None !-1
None !
-1
--2
---3
None !
---3
None !---3
----4
None !----4
None !---3
None !-1
None !-1
None !-1
None !-1
None !-1
None !
-1
None !-1
--2
---3
None !---3
None !
---3
None !
-1
None !
Suggest Update: Donation & Donator
1) Donation
Các anh ad làm việc nhiều mệt thì cần phải hưởng công xứng đáng chứ mọi người nhỉ. Ngoài ra còn bảo trì server nâng cấp này nọ, debug các kiểu :'( Nghe thôi đã thấy mệt
Khu vực
Donation
tự nguyện10K
,20K
,50K
cho các anh ad có thể giúp tiếp thêm động lực cho các ảnh UwU2) Donator
Có bảng xếp hạng donation để cho mấy người donator cũng muốn được gì đó chứ nhể UwU
Mà tiện thể thì ghép chung Donate tiền với Donate testcase (hack) có thể tiếp động lực cho mấy bạn hack luôn UwU
Cái này nghe vui. Cơ mà nói thật thì chỉ cần xây dựng một môi trường văn minh, tích cực học tập, diệt trừ vấn nạn chép code, đóng góp theo những hình thức khác (đề xuất bài tập, đề xuất lời giải) thì mấy anh hẳn cũng vui lắm :)). Học sinh thì đa phần chưa có tài khoản ngân hàng.
Hợp lí :v
Suggest Update: Upvote and Downvote, Contribution Ranking
1) Upvote
2) Downvote
3) Contribution Ranking
4) Editorial
5) Limitation
Mình nghĩ nên có option để user chọn cách sort các comment (theo thời gian, lượng upvote, của người mình follow trước,v.v)
Tại sao ta không sort các comment theo lượng upvote luôn nhỉ?
Hợp lý e, sort upvote cho giống fb :v
Em có ý kiến muốn đóng góp là trang wed của mình có thể thêm phần tính năng chuyển avatar trực tiếp được không ạ. Em muốn chuyển avatar nhưng các bước hơi phức tạp nên em không biết phải làm sao :(((
Lưu trữ trực tiếp ảnh avatar trên máy chủ của web sẽ dẫn tới phí phạm dung lượng, làm eo hẹp không gian cho những thành phần có ích hơn như testdata, đề bài, post, etc. Em chỉ cần đăng ký một tài khoản gravatar bằng email mà em đã đăng ký bên trang này, sau đó chỉ cần đổi avatar bên đó thì bên này sẽ tự động đồng bộ theo.
Cái này thì em thấy không cần thiết lắm nhưng mà liệu có thể thêm tính năng là khi mà mình đạt được khoảng rating mới thì sẽ được thêm tính năng mới như thêm icon vào phần comment chẳng hạn? Như thế thì mọi người sẽ có thêm động lực để đạt rating cao hơn.
This comment is hidden due to too much negative feedback. Click here to view it.
Lên mức rating mới thì có thể customize profile mình thì sao nhỉ, ví dụ như showcase vị thứ trong 1 contest nào đấy chẳng hạn. Làm thế thì mọi người sẽ có cố gắng làm bài để có rating cao mà trang trí profile (* ^ w ^)
This comment is hidden due to too much negative feedback. Click here to view it.
Suggest Update: Break The limit
Break The Limit
Sau khi một người hoàn thành một bài, mục
Break The Limit
sẽ mở thêm một hàng bài tập (không mở ra khi thi)Hàng bài tập chứa tên, mã bài, dạng bài, 5 code nhanh nhất, 5 code ngắn nhất (mỗi code gồm avatar, username và thông tin (thời gian / lượng kí tự))
Có Filter và Hightlight để tìm kiếm
Có bảng xếp hạng người có nhiều code tối ưu
Suggest Update: Problem-Tags
1) Mục đích
Mọi người có thể đóng góp bài giải với tag
Mọi người dễ tìm kiếm dạng bài cụ thể hơn
2) Thêm các tag bài cụ thể hơn
Suggest Update: Submission Statistics, Show Hiden Contests
1) Submissions Statistics: Thống kê bài nộp
2) Show Hiden Contests
Unrated
trên biểu đồ thời gian (mờ hơn) với giá trị rating giả định hoặc bằng giá trị trước \Delta = 0Suggest Update: Groups và Friends
1) Chức năng theo dõi: Filter, Highlight và Watcher
2) Theo dõi hoạt động gần đây (submissions) của nhóm
3) Có khu chat riêng cho mỗi nhóm để thảo luận (khóa trong lúc thi)
4) Ngoài so sánh ranking theo từng cá nhân. Mình sẽ so sánh ranking riêng với top 5 người đến từ mỗi nhóm
Để các group hoạt động tích cực hơn UwU
Disadvantage: Trái lại một số bạn có thể gian lận hơn :'(
các anh admin làm phần kết bạn được không ạ. Ví dụ thi xong thì trong phần ranking có kí hiệu nào đó để phân biệt bạn bè. Thêm phần bxh của bạn bè với phần chat với bạn bè nữa ạ
Admin mới thêm chức năng kết bạn (follow). Có ý kiến gì cứ phản hồi nhé.
Thay vì kết bạn 2 chiều thì em suggest đánh dấu bạn bè như codeforces để theo dõi
Ok a nghĩ 1 chiều như CF cũng thuận tiện hơn cho mọi người
Em thấy trong cái Suggest Tag nó không hiển thị Latex và
copy button
ad ạSuggest tag ở đâu vậy em?
Ở trong thẻ mới ạ
Chỗ nào nhỉ, e nói rõ hơn được không?
Ví dụ ạ
Nếu có copy button thì có tiện hơn không anh nhỉ. Nhưng em nghĩ nếu dùng Latex thì sự phản hồi nhau sẽ nhìn đẹp mắt hơn
ah ok e
Em nghĩ nên phân contest theo division để tính rating nó chuẩn hơn
Anh nghĩ chia division là không cần thiết vì mỗi contest đều đã được thiết kế dành riêng cho một nhóm đối tượng nhất định (e.g: contest Ôn luyện vào chuyên Tin dành cho học sinh cấp hai và chỉ rated cho những tài khoản có rating nhỏ hơn 1800, các contest thi thử Olympic cũng chia ra lớp 10 và lớp 11, etc.)
Và contest nào cũng
Rated
UwUAnh nghĩ chỉ nên rate mọi contest mà KHÔNG chứa bài trùng với các bài có sẵn trên mạng để đảm bảo công bằng. Khá nhiều contest trên trang là để tiếp cận hoặc ôn luyện kiến thức cơ bản nên có sử dụng nhiều bài toán kinh điển và quen thuộc, do đó không thích hợp để rate.
Vâng anh, quan trọng là kiến thức và giữ tâm lí thi chứ
rating
ăn nhằm gì ad hầy ^^A chưa thấy mục đích của blog cá nhân lắm. Nếu hỏi bài thì có thể comment ngay trong bài. Đăng ý tưởng hay tutorial thì rất hay nhưng có lẽ số lượng sẽ không nhiều, bạn nào muốn đăng bài có thể liên hệ admin. Trong khi đó việc mở blog cho mọi người có thể tạo nên spam, khó kiểm soát, làm loãng chất lượng các bài đăng, ... Các bạn nghĩ sao?
Em cũng thích ý tưởng này mà em nghĩ nó sẽ có nhiều vấn đề xung quanh việc viết blog đấy ạ
:'(
. Nhưng nếu được thì bản cập nhật này sẽ hay lắm đâyUwU
A thấy cái fastest code thì mình có sẵn rồi mà. Còn cái accepted được xem code thì cũng có sẵn rồi.
Cái favorite problem a nghĩ chưa cần thiết lắm, vì em có thể dùng nhiều tool bên ngoài để đánh dấu.
Cái ma trận bài a chưa hiểu lắm, a thấy cái search box của mình có hide solved problems rồi mà.
Thêm một cái ma trận các bài tập đã làm được kèm theo
filter
dạng bài. Trong đó với mỗi ô thì:[\color{lightgray}{NV}] <No Verdict> = Chưa nộp
[\color{green}{AC}] <Accepted> = Đúng
[\color{yellow}{RTE}] <Runtime Error> = Lỗi trong quá trình chạy
[\color{orange}{RTE}] <Compile Error> = Lỗi biên dịch
[\color{red}{WA}] <Wrong Answer> = Sai
[\color{darkgray}{TLE}] <Time Limit Exceed> = Quá thời gian
[\color{purple}{MLE}] <Memory Limit Exceed> = Tràn bộ nhớ
[\color{black}{SKP}] <Skipped> = Bị bỏ qua
Nếu mà Verdict hoạt động chuẩn hơn thì mình ngoài phần hack thì thêm phần best code được không anh
OwO
Mỗi bài có
top 5
fastest code và shortest codeChỉ ai đã \color{green}{accepted} mới được tham khảo code
Thêm cái favorite problem để có gì làm lại
UwU
A thấy cái fastest code thì mình có sẵn rồi mà. Còn cái accepted được xem code thì cũng có sẵn rồi.
Cái favorite problem a nghĩ chưa cần thiết lắm, vì em có thể dùng nhiều tool bên ngoài để đánh dấu.
Cái ma trận bài a chưa hiểu lắm, a thấy cái search box của mình có hide solved problems rồi mà.
Còn cái ma trận là ngoài những cái problem theo các hàng với nhau thì mình sẽ đánh dấu mã bài trên mỗi ô của ma trận cùng với màu sắc Verdict của nó để dễ dàng theo dõi một cách tổng quan ạ
A chưa hình dung được, em vẽ thử ra được không?
Dạ là
Em nộp lại cùng code thấy thời gian chạy nó khác nhau á anh. Ý em là khi nào mà cùng một code luôn có thời gian chấm giống nhau thì mình làm nhiều cái để xem ai code tốt nhất cho mỗi problem á anh. Về hai hạng mục là code nhanh nhất (fastest code) để xem thuật toán (algorithms) và cách biểu diễn (implementation) ai tốt nhất.
A nghĩ là để mỗi lần nộp mà thời gian giống nhau là không thể, vì nó phụ thuộc vào phần cứng và máy thì lúc nhanh lúc chậm (chênh lệch chắc tầm với chục ms). Như CF mỗi lần nộp thời gian cũng khác nhau mà. Còn có thể sau này, a sẽ thêm cái shortest code.
Vâng anh, em biết nó có một độ chênh nào đó. Nhưng khi nào nó khá nhỏ để quan tâm thì mình có thể tạo cuộc đua về
Code tối ưu
kích thích mấy bạn không chỉ muốn giải bài mà muốn tối ưu hoàn toàn trong một số bài cụ thể. Với những ai cóCode tối ưu
thì cũng sẽ được biểu diễn trong ma trận em kể trên cũng như là trong một cáiranking
nào đó