Please subscribe to the official Codeforces channel in Telegram via the link https://t.me/codeforces_official. ×

[CF Extension] How Not To Feel Bad About Yourself
Difference between en4 and en5, changed 1,017 character(s)
I've made some tampermonkey extensions, I will make it available in Google Chrome Extension store if I'm not busy and lazy.  ↵
The extensions are for those whose souls are as weak as mine. ⸜(。˃ ᵕ ˂ )⸝♡↵

## Simple UI↵
The first one is the simple UI if you want to just read or print CF problem statements in compact mode.↵

<spoiler summary="Screenshots">↵
![ ](/predownloaded/8d/19/8d196f359e4bbfcd46ea331ce17329b5df8c65a0.png)↵
</spoiler>↵

What it does:↵

  - Remove the problem letters (to avoid bias)  ↵
  - Make it clean and printable  ↵
  - Auto display spoilers (for printing's sake)↵

<spoiler summary="CF Simple UI">↵
~~~~~↵
// ==UserScript==↵
// @name         CF Simple UI↵
// @version      1.0↵
// @author       hocky↵
// @match        https://codeforces.com/problemset/problem/*↵
// @match        https://codeforces.com/blog/entry/*↵
// @match        https://codeforces.com/contest/*/problem/*↵
// @icon         https://www.google.com/s2/favicons?sz=64&domain=codeforces.com↵
// @grant        none↵
// ==/UserScript==↵

// Source: https://gist.github.com/TianyiChen/329edfd7c02327c2a0c9e1307816abb8↵
(function() {↵
    'use strict';↵
    $('#sidebar').hide();↵
    $('#header').hide();↵
    $('#footer').hide();↵
    $('.menu-box').hide();↵
    $('.spoiler').addClass('spoiler-open');↵
    $('.spoiler-content').css('display', 'block');↵
    // $('.second-level-menu').hide();↵
    $('#pageContent').removeClass("content-with-sidebar");↵
    // print();↵

    // Function to remove letters from title divs↵
    $('.problem-statement .header .title').each(function() {↵
        const currentText = $(this).text();↵
        const modifiedText = currentText.replace(/[A-Za-z\d]+\./g, ''); // Regex to remove all letters↵
        $(this).text(modifiedText);↵
    });↵
    $('.problem-statement .header .input-file').hide();↵
    $('.problem-statement .header .output-file').hide();↵
    setInterval(function() {↵
        $('.alert.alert-info').hide();↵
    }, 1000);↵
})();↵
~~~~~↵
</spoiler>↵

## Anti Ratist↵

The second one is an anti-ratist extensions which would hide anyone's rating and number of solvers in a contest page.  &#2858;(&#3665;&bull;&#7447;&bull;&#3665;)&#2835; &#9825;↵

<spoiler summary="Screenshots">↵
![ ](/predownloaded/d1/5f/d15faa23a285bb7d721650c07a4abbcd5f55d888.png)↵
![ ](/predownloaded/a6/e1/a6e11f21a16b3d9c870744d9f63abffebbba471f.png)↵
</spoiler>↵


<spoiler summary="CF Anti Ratist">↵
~~~~~↵
// ==UserScript==↵
// @name         CF Anti Ratist↵
// @version      1.
01
// @description  Remove participant solved from codeforces also the rating and where the problem came from↵
// @author       hocky↵
// @match        https://codeforces.com/*↵
// @match        http://codeforces.com/*↵
// @grant        none↵
// ==/UserScript==↵

;(function () {↵
    'use strict'↵
    $('a[title="Participants solved the problem"]').remove();↵
    $('span.tag-box').remove();↵
    $('table.rtable').remove();↵
    // $('div.header div.title').remove();↵
    $('head title').remove();↵
    const colors = ["gray", "green", "cyan", "blue", "violet", "orange", "red","legendary"];↵
    const replaceColor = `user-cyan`;↵
    for(const color of colors) {↵
        const 
currentRatinguserColor = `.user-${color}`↵
        
const userNames = $(currentR$(`span.${userColor}`).each((key, rating); => {
        
userNames.each((key, name    rating.classList.add(replaceColor);↵
            if(parseInt(rating.textContent
={0)
            
// console.log(currentRating.slice(1)    rating.remove();↵
        
    // README: Uncomment the below line if you want to hide colors as well})↵
        $(`a.${userColor}`).each((key, name) => {↵
            console.log(name);

            
// name.classList.remove(currentRating.slice(1))↵
            if(parseInt(name.textContent) > 0)
userColor);
            
    name.remove(classList.add(replaceColor);↵
        })↵
    }↵
    const problemRatings = $('.ProblemRating');↵
    problemRatings.each((key, problemRating) => {↵
        if(parseInt(problemRating.textContent) > 1800) problemRating.remove();↵
    })↵
})()↵


// @match        https://codeforces.com/problemset↵
// @match        https://codeforces.com/contest/*↵
// @match        https://codeforces.com/gym/*↵
// @match        https://codeforces.com/profile/*↵
// @match        https://codeforces.com/problemset/page/*↵
// @match        http://codeforces.com/problemset↵
// @match        http://codeforces.com/contest/*↵
// @match        https://ioi.contest.codeforces.com/*↵
// @match        http://codeforces.com/gym/*↵
// @match        http://codeforces.com/profile/*↵
// @match        http://codeforces.com/problemset/page/*↵

~~~~~↵
</spoiler>↵


P.S: Just so you know the anti ratist extension is useless because everytime I open cf from my phone I will end up seeing my rating again.↵

![ ](/predownloaded/09/6e/096ecc150fcc6d3db07f33c1a96bb0f46099e63c.png)

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en7 English hocky 2023-12-05 02:20:41 58 Tiny change: ';\n $('' -> ';\n $('a[title="Количество решивших задачу"]').remove();\n $(''
en6 English hocky 2023-12-05 02:15:03 89
en5 English hocky 2023-12-05 02:11:07 1017
en4 English hocky 2023-12-04 06:22:07 0 (published)
en3 English hocky 2023-12-04 06:21:32 84
en2 English hocky 2023-12-04 06:19:37 12 Tiny change: 'm not busy. The extens' -> 'm not busy and lazy. \nThe extens'
en1 English hocky 2023-12-04 06:19:18 4585 Initial revision (saved to drafts)