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

प्रतिस्पर्धी प्रोग्रामिंग के लिए पायथन इनपुट तरीके?

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

मान लीजिए कि आप एक कोडफोर्स या इसी तरह के ऑनलाइन जूड (जैसे एसपीओजे) में हैं और आपको नंबर ए, बी, सी, डी पढ़ना है और उनके उत्पाद को प्रिंट करना है। करने के कई तरीके हैं, आइए उन्हें एक-एक करके एक्सप्लोर करें

ऐसा करने का एक तरीका या तो सूची समझ और मानचित्र फ़ंक्शन के माध्यम से है।

विधि 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)

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

विधि 1 :स्टडीन और स्टडआउट के साथ सूची समझ

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 7 . से शुरू होता है ) इनपुट की अगली n पंक्तियों में एक धनात्मक पूर्णांक ti होता है, जो 10 9 . से अधिक नहीं होता है , प्रत्येक।

आउटपुट

आउटपुट के लिए एक पूर्णांक लिखें, यह दर्शाते हुए कि कितने पूर्णांक ti k से विभाज्य हैं।

कहां

  • इनपुट :इनपुट दो सकारात्मक पूर्णांक n और k (जहाँ- n, k <=10) से शुरू होता है। इनपुट की अगली पंक्तियों में एक धनात्मक पूर्णांक t होता है जो प्रत्येक 10*9 से बड़ा नहीं होता है।

  • आउटपुट :एक एकल पूर्णांक यह दर्शाता है कि कितने पूर्णांक t 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

उपरोक्त समस्या को हल करने का एक और अधिक कुशल तरीका है स्टड और स्टडआउट का उपयोग करना। नीचे का प्रोग्राम पिछले वाले की तुलना में बहुत तेज चलता है।

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

उपरोक्त समस्या को हल करने का एक और तरीका है जो ऊपर बताए गए पिछले दो की तुलना में बहुत तेज़ है, स्टड और स्टडआउट (जिस तरह से हमने विधि 2 में उपयोग किया है) का उपयोग करके, हालांकि, पूरे इनपुट को एक बार में पढ़ें और इसे एक सूची में लोड करें।

def main():
   for sys import stdin, stdout
   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. विंडोज़ पर पायथन प्रोग्रामिंग के लिए आईडीई

    इस लेख में, हम विंडोज़ के लिए पायथन पर उपलब्ध विभिन्न आईडीई के बारे में जानेंगे। पिचर्म इंटरएक्टिव पायथन कंसोल वेब ढांचे के लिए समर्थन तेज़ अपवर्तन समय कम विकास जुपिटर नोटबुक लगभग हर पायथन मॉड्यूल के साथ संगतता कम जगह और हार्डवेयर आवश्यकताएं इनबिल्ट टर्मिनल और कर्नेल सुविधाएं विज़ेट की एक विस्त

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

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

  1. पायथन में कछुआ प्रोग्रामिंग

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