Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

कॉम्पिटिटिव प्रोग्रामिंग के लिए पायथन इनपुट मेथड्स


इसमें हम पायथन में कॉम्पिटिटिव प्रोग्रामिंग के लिए विभिन्न I/O मेथड्स देखेंगे। कॉम्पिटिटिव प्रोग्रामिंग में इनपुट को जितनी तेज़ी से संभव हो पढ़ना महत्वपूर्ण है ताकि दूसरों पर बढ़त मिल सके।

मान लीजिए आप कोडफोर्स या इसी तरह के ऑनलाइन जज (जैसे SPOJ) पर हैं और आपको संख्याएं a, b, c, d पढ़कर उनका गुणनफल प्रिंट करना है। इसे करने के कई तरीके हैं, आइए उन्हें एक-एक करके देखें।

इसे करने का एक तरीका या तो लिस्ट कॉम्प्रिहेंशन और मैप फंक्शन के माध्यम से है।

मेथड 1: लिस्ट कॉम्प्रिहेंशन का उपयोग

a, b, c, d = [int(x) for x in input().split()]
print(a * b * c * d)

मेथड 2: मैप फंक्शन का उपयोग

a, b, c, d = map(int, input().split())
print(a * b * c * d)

उपरोक्त समस्या को करने का एक और तरीका stdin और stdout का उपयोग करना है जो बहुत तेज़ है।

मेथड 1a: stdin और stdout के साथ लिस्ट कॉम्प्रिहेंशन

from sys import stdin, stdout
a, b, c, d = [int(x) for x in stdin.readline().rstrip().split()]
stdout.write(str(a * b * c * d) + "\n")

आइए कॉम्पिटिटिव प्रोग्रामिंग की एक और समस्या देखते हैं जहां हम अपने इनपुट और आउटपुट मेथड्स का परीक्षण कर सकते हैं। यह समस्या SPOJ पर INTEST-एनॉर्मस इनपुट टेस्ट कहलाती है।

समस्या विवरण

इनपुट: इनपुट दो पॉजिटिव इंटीजर्स n k (n, k ≤ 10⁷) से शुरू होता है। अगली n लाइन्स में एक पॉजिटिव इंटीजर ti होता है, जो 10⁹ से अधिक नहीं होता।

आउटपुट: एक सिंगल इंटीजर आउटपुट करें, जो दर्शाता है कि कितने इंटीजर्स ti, k से विभाज्य हैं।

उदाहरण

Input:
7 3
1
51
966369
7
9
999996
11

Output:
4

मेथड 1: बेसिक तरीका (कम कुशल)

def main():
    n, k = [int(c) for c in input().split()]
    cnt = 0
    for _ in range(n):
        t = int(input())
        if t % k == 0:
            cnt += 1
    print(cnt)

if __name__ == "__main__":
    main()

मेथड 2: stdin और stdout का उपयोग (अधिक कुशल)

from sys import stdin, stdout

def main():
    n, k = [int(c) for c in input().split()]
    cnt = 0
    for _ in range(n):
        t = int(stdin.readline())
        if t % k == 0:
            cnt += 1
    stdout.write(str(cnt))

if __name__ == "__main__":
    main()

मेथड 3: पूरा इनपुट एक बार में पढ़ें (सबसे तेज़)

from sys import stdin, stdout

def main():
    n, k = stdin.readline().split()
    n = int(n)
    k = int(k)
    cnt = 0
    lines = stdin.readlines()
    for line in lines:
        if int(line) % k == 0:
            cnt += 1
    stdout.write(str(cnt))

if __name__ == "__main__":
    main()

  1. विंडोज पर पायथन प्रोग्रामिंग के लिए IDE विंडोज पर पायथन प्रोग्रामिंग के लिए IDE

    इस लेख में, हम विंडोज पर पायथन के लिए उपलब्ध विभिन्न IDE के बारे में जानेंगे।PyCharmइंटरैक्टिव पायथन कंसोलवेब फ्रेमवर्क के लिए समर्थनतेज़ रिफैक्टरिंग समयकम विकास समयJupyter Notebookलगभग हर पायथन मॉड्यूल के साथ संगतताकम स्पेस और हार्डवेयर आवश्यकताएंइनबिल्ट टर्मिनल और कर्नेल फीचर्सविभिन्न प्रकार के वि

  1. प्रतिस्पर्धात्मक कोडिंग के लिए Python सबसे उपयुक्त क्यों है प्रतिस्पर्धात्मक कोडिंग के लिए Python सबसे उपयुक्त क्यों है

    प्रतिस्पर्धात्मक प्रोग्रामिंग को आमतौर पर उपयुक्त डेटा संरचना का उपयोग करके कुशल एल्गोरिदम का उपयोग करने के लिए कोडिंग के रूप में संदर्भित किया जाता है। वे प्रोग्रामर्स के कौशल का कई स्तरों पर परीक्षण करते हैं। एल्गोरिदम और डेटा संरचना की मदद से, आपको आपके द्वारा प्रस्तुत एक काल्पनिक प्रोग्रामिंग

  1. पायथन में टर्टल प्रोग्रामिंग पायथन में टर्टल प्रोग्रामिंग

    टर्टल पायथन की एक विशेष विशेषता है। टर्टल का उपयोग करके, हम आसानी से एक ड्राइंग बोर्ड पर ड्रा कर सकते हैं। पहले हम टर्टल मॉड्यूल इम्पोर्ट करते हैं। फिर एक विंडो बनाते हैं, अगला हम टर्टल ऑब्जेक्ट बनाते हैं और टर्टल मेथड का उपयोग करके ड्राइंग बोर्ड पर ड्रा कर सकते हैं। कुछ टर्टल मेथड मेथडपैरामीटरविव