如何破解乙個OJ系統

2021-09-27 22:12:05 字數 817 閱讀 3983

有的oj系統是可以不通過正常程式就能ac的。

首先這個oj系統要滿足這個條件:能看到自己的輸出。

oj系統是怎麼判題的?提前儲存正確的輸入輸出樣例,存在檔案中,然後執行目標**,將輸入作為程式標準輸入,最終將輸出與正確輸出對比,給出結果。大致是這樣,不過還有很多很多細節需要處理。感興趣的自己了解去。

破解思路:1.寫乙個程式執行系統呼叫,讀出oj伺服器中的檔案,找到輸入和輸出檔案,將檔案內容作為程式輸出,從而在瀏覽器端看到輸出。

2.用上一步得到的輸入輸出和 if 語句完成題目。

這裡給了乙個讀取輸入的**,至於怎麼找輸入輸出檔案路徑大家自己悟吧。

import numpy as np

import os

class task:

def solve(self,n,edges):

#********** begin **********#

cwd = os.getcwd()

listdir=os.listdir(cwd+"/step1/data1/data")

txt=""

for i in range(1,11):

fp=open(cwd+"/step1/data1/data/"+str(i)+".in","r")

txt=txt+fp.readline()+fp.readline()+fp.readline()

txt=txt+"\n"

return

#********** end **********#

最後,這個僅供娛樂,如果比賽中用這樣的方法得分被發現會很慘的,親身經歷哦~~

如何重構乙個系統

發現乙個很有意思的情況,做系統寫 多年了,遇到的需求基本上是在已有的系統上實現,從頭來實現的系統基本上沒有。無論是從頭是實現乙個系統,還是維護乙個系統,當時實現的技術可能是最先進的 規劃的產品邏輯是合理的,隨著時間的發展 開發人員的變更 系統的 質量會逐漸腐化,加個feature太麻煩,改個bug涉...

如何熟悉乙個系統

作者 唐志龍 鯤龍 阿里巴巴高階開發工程師 開發人員經常會面臨下面一些場景 這樣的場景多了,就需要去梳理常見問題以及應對方法,方便後續遇到類似場景可以快速應對。業務學習就是從業務角度去學習系統,我們需要了解系統的客戶是誰 使用人是誰 帶來了什麼價值,系統提供了哪些功能等。不清楚業務,就等於不知道系統...

如何隨機破解乙個家用路由器

在宿舍這種wifi密集地。感覺上下7層樓的都被我刷到了呢 在本教程中,將會展示如何使用埠掃瞄來識別家庭路由器與辦公室路由器,並嘗試登入到其中。這世上大多數使用者並不會改變路由器的初始密碼 大家都了解怎麼使用路由器來上網,卻不知如何裝置路由器本身。這是問題所在,黑客可以抓住這點來破解路由器。準備工作 ...