cf shortest codes

添加claude编写的快捷跳转朋友排名、c++、py最短代码的按钮。

  1. // ==UserScript==
  2. // @license MIT
  3. // @name cf shortest codes
  4. // @namespace http://tampermonkey.net/
  5. // @version 2024-04-02
  6. // @description 添加claude编写的快捷跳转朋友排名、c++、py最短代码的按钮。
  7. // @author apxitye,claude
  8. // @match https://codeforces.com/*/problem/*
  9. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  10. // @grant GM_log
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. const url = new URL(window.location.href);
  17. const contestId = url.pathname.split('/').find(part => !isNaN(parseInt(part)));
  18. const problemId = url.pathname.split('/').pop().toUpperCase();
  19. //friends standings
  20. let Btn = document.createElement('li');
  21. Btn.innerHTML = `<a href="https://codeforces.com/contest/${contestId}/standings/friends/true" target="_blank">Friends Standings</a>`;
  22. Btn.classList.add('Btn')
  23. document.querySelector(".second-level-menu-list").appendChild(Btn);
  24. //py
  25. const friendBtn = document.createElement('li');
  26. friendBtn.innerHTML = `<a href="${url.origin}/contest/${contestId}/status/?order=BY_PROGRAM_LENGTH_ASC" target="_blank" id="shortestCodeLink">py</a>`;
  27. friendBtn.classList.add('friendBtn');
  28. document.querySelector(".second-level-menu-list").appendChild(friendBtn);
  29.  
  30. document.getElementById('shortestCodeLink').addEventListener('click', (e) => {
  31. e.preventDefault();
  32.  
  33. const newWindow = window.open(e.currentTarget.href, '_blank');
  34. newWindow.addEventListener('load', () => {
  35. const form = newWindow.document.querySelector('.status-filter');
  36. if (form) {
  37. form.querySelector('#frameProblemIndex').value = problemId;
  38. form.querySelector('#verdictName').value = 'OK';
  39. form.querySelector('#programTypeForInvoker').value = 'python.3';
  40. form.querySelector('#comparisonType').value = 'NOT_USED';
  41. form.querySelector('#participantSubstring').value = '';
  42. form.submit();
  43. }
  44. }, { once: true });
  45. });
  46. //c++17
  47. const friendBtn2 = document.createElement('li');
  48. friendBtn2.innerHTML = `<a href="${url.origin}/contest/${contestId}/status/?order=BY_PROGRAM_LENGTH_ASC" target="_blank" id="shortestCodeLink2">c++</a>`;
  49. friendBtn2.classList.add('friendBtn');
  50. document.querySelector(".second-level-menu-list").appendChild(friendBtn2);
  51.  
  52. document.getElementById('shortestCodeLink2').addEventListener('click', (e) => {
  53. e.preventDefault();
  54.  
  55. const newWindow = window.open(e.currentTarget.href, '_blank');
  56. newWindow.addEventListener('load', () => {
  57. const form = newWindow.document.querySelector('.status-filter');
  58. if (form) {
  59. form.querySelector('#frameProblemIndex').value = problemId;
  60. form.querySelector('#verdictName').value = 'OK';
  61. form.querySelector('#programTypeForInvoker').value = 'cpp.g++17';
  62. form.querySelector('#comparisonType').value = 'NOT_USED';
  63. form.querySelector('#participantSubstring').value = '';
  64. form.submit();
  65. }
  66. }, { once: true });
  67. });
  68.  
  69. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址