(显然这是在看到 LHQing 的犇犇后一时兴起做的)
其提供的主要功能有:
里面有若干可以优化效率/可以玄学调参的地方,不过我都没去管。爬取代码的过程需要自己完成,其可能花费较多时间。推荐将爬取到各个用户的代码分别保存在文件中,再作码风的比较,以免网络不稳定导致前功尽弃。
下图是若干名 CF 用户代码相似度两两比较的结果;左侧是原始代码、右侧是 clang-format 后的代码(LLVM 风格)。部分相似度明显偏高的用户对被标注了出来。用户列表、用户和代码的选取方式见文末。

从右侧的深色条带可以看出有一些用户最近几道题并没有使用 C++。
作者尚未进行【给定代码查找账号】这样的测试。
上图中涉及到的用户列表(json 格式):
["-0.5", "1092515503", "137_345_2814", "244mhq", "A-SOUL_Bella", "ainta", "amiya", "antontrygubO_o", "AoLiGei", "arvindf232", "Benq", "blackyuki", "budalnik", "BurnedChicken", "Chenyu_Qiu", "cnnfls_csy", "conqueror_of_tourist", "disorientation", "djq_fpc", "Dmitriy.Belichenko", "dorijanlendvaj", "duality", "E869120", "ecnerwala", "eecs", "Egg_Tart_Forest", "Egor", "Elegia", "Errichto", "fantasy", "fivedemands", "FizzyDavid", "gamegame", "Geothermal", "gisp_zjz", "Golovanov399", "greenheadstrange", "gyh20", "halyavin", "hank55663", "hehezhou", "heno239", "he_____hezhou", "hitonanode", "hos.lyric", "inaFSTream", "isaf27", "Isonan", "IZONE", "jcvb", "jiangly", "jiangly_fan", "KAN", "kotatsugame", "ksun48", "Laurie", "LHiC", "liuhengxi", "LJC00118", "Maksim1744"]
你可以通过数格子的方式确定每个格子是哪两名用户的比较结果。
代码选取规则:对于一名用户,取其最近 50 份代码,取其中可以访问(不开 Coach mode)者,相同题目只取最晚一份,筛选出的代码中取最近 10 份。
用户选取规则:对于 CF 上 rating 排名前 127 的用户(因为我只爬取了这么多用户),取其中选取了 10 份代码的,再取用户名字典序前 60 的。
以上数据来自 1 月 26 日 19:30 起至当晚 24 时止的不同时刻。