నేడు అంతర్జాతీయ ప్రోగ్రామింగ్ పోటీ ICPC 2019 యొక్క ఫైనల్స్ పోర్చుగీస్ నగరం పోర్టోలో జరుగుతాయి మరియు రష్యా, చైనా, భారతదేశం, USA మరియు ఇతర దేశాలలోని విశ్వవిద్యాలయాల నుండి ఇతర జట్లు ఇందులో పాల్గొంటాయి. మీకు మరింత వివరంగా చెప్పండి.
icpcnews /flickr/ CC BY / ఫుకెట్లో జరిగిన ICPC-2016 ఫైనల్స్ నుండి ఫోటోలు
ICPC అంటే ఏమిటి
ఐసిపిసి విద్యార్థుల మధ్య అంతర్జాతీయ ప్రోగ్రామింగ్ పోటీ. వారు 40 సంవత్సరాలకు పైగా నిర్వహించబడ్డారు - మొదటి ఫైనల్ జారీ తిరిగి 1977లో. ఎంపిక అనేక దశల్లో జరుగుతుంది. విశ్వవిద్యాలయాలు ప్రాంతాల వారీగా విభజించబడ్డాయి (యూరప్, ఆసియా, ఆఫ్రికా, అమెరికా మొదలైనవి). వాటిలో ప్రతి ఒక్కటి ఇంటర్మీడియట్ దశలను నిర్వహిస్తుంది, ప్రత్యేకించి ఉత్తర యురేషియన్ సెమీ-ఫైనల్స్ మా యూనివర్సిటీలో జరిగింది. ప్రాంతీయ దశలలో విజేతలు ఫైనల్స్లో పాల్గొంటారు.
ICPC వద్ద, ఒక కంప్యూటర్ను (ఇంటర్నెట్కు కనెక్ట్ చేయబడలేదు) ఉపయోగించి అనేక సమస్యలను పరిష్కరించమని ముగ్గురు పాల్గొనే బృందాలు కోరబడతాయి. ఇలా ప్రోగ్రామింగ్ స్కిల్స్తో పాటు టీమ్వర్క్ స్కిల్స్ కూడా పరీక్షించబడతాయి.
పోటీ సమయంలో, జట్లు ఒక కంప్యూటర్ అందుకుంటుంది ముగ్గురు వ్యక్తుల కోసం. ఇది Ubuntu 18.04ని నడుపుతుంది మరియు vi/vim, gvim, emacs, gedit, geany మరియు kate ముందే ఇన్స్టాల్ చేయబడింది. మీరు Python, Kotlin, Java లేదా C++లో ప్రోగ్రామ్లను వ్రాయవచ్చు.
బృందం సమస్యను పరిష్కరించినప్పుడు, అది కోడ్ను మూల్యాంకనం చేసే టెస్టింగ్ సర్వర్కు ఫార్వార్డ్ చేస్తుంది. మెషిన్ ఏ పరీక్షలు నిర్వహిస్తుందో పాల్గొనేవారికి తెలియదు. అవన్నీ విజయవంతమైతే, జట్టు బోనస్ పాయింట్లను అందుకుంటుంది. లేకపోతే, ఒక లోపం ఏర్పడుతుంది మరియు కోడ్ను సరిచేయడానికి విద్యార్థులు పంపబడతారు.
ICPC నిబంధనల ప్రకారం, ఎక్కువ సమస్యలను పరిష్కరించే జట్టు గెలుస్తుంది. అటువంటి అనేక జట్లు ఉంటే, విజేత చిన్న పెనాల్టీ సమయం ద్వారా నిర్ణయించబడుతుంది. పరిష్కరించబడిన ప్రతి సమస్యకు పాల్గొనేవారు పెనాల్టీ నిమిషాలను అందుకుంటారు. నిమిషాల సంఖ్య పోటీ ప్రారంభం నుండి పరీక్ష సర్వర్ ద్వారా టాస్క్ను అంగీకరించే సమయానికి సమానంగా ఉంటుంది. బృందం ఒక పరిష్కారాన్ని కనుగొంటే, అది పాస్ చేయడానికి ప్రతి తప్పు ప్రయత్నానికి మరో ఇరవై నిమిషాల పెనాల్టీని అందుకుంటుంది.
icpcnews /flickr/ CC BY / ఫుకెట్లో జరిగిన ICPC-2016 ఫైనల్స్ నుండి ఫోటోలు
నమూనా సమస్యలు
ఛాంపియన్షిప్ యొక్క లక్ష్యాలకు జట్టు సమన్వయం మరియు ఏకాగ్రత అవసరం. అదనంగా, వారు వ్యక్తిగత గణిత అల్గారిథమ్ల పరిజ్ఞానాన్ని పరీక్షిస్తారు. ICPC 2018లో పాల్గొనేవారికి అందించబడిన టాస్క్ యొక్క ఉదాహరణ ఇక్కడ ఉంది:
టైపోగ్రఫీలో, “నది” అనే పదం ఉంది - ఇది పదాల మధ్య ఖాళీల క్రమం, ఇది అనేక వచన పంక్తుల నుండి ఏర్పడుతుంది. ఒక నిర్దిష్ట నది నిపుణుడు (నిజానికి) ఒక పుస్తకాన్ని ప్రచురించాలనుకుంటున్నారు. మోనోస్పేస్డ్ ఫాంట్లో ముద్రించేటప్పుడు పేజీలో పొడవైన టైపోగ్రాఫిక్ నదులు "రూపం" కావాలని అతను కోరుకుంటున్నాడు. పాల్గొనేవారు ఈ పరిస్థితికి అనుగుణంగా ఉండే ఫీల్డ్ల వెడల్పును నిర్ణయించాలి.
ఇన్పుట్ వద్ద, ప్రోగ్రామ్ పూర్ణాంకం n (2 ≤ n ≤ 2)ని పొందింది, ఇది టెక్స్ట్లోని పదాల సంఖ్యను నిర్ణయిస్తుంది. తరువాత, టెక్స్ట్ నమోదు చేయబడింది: ఒక లైన్లోని పదాలు ఒక ఖాళీతో వేరు చేయబడ్డాయి మరియు 500 కంటే ఎక్కువ అక్షరాలను కలిగి ఉండవు.
అవుట్పుట్ వద్ద, ప్రోగ్రామ్ పొడవైన “నది” ఏర్పడిన ఫీల్డ్ల వెడల్పు మరియు ఈ నది పొడవును చూపించాల్సి ఉంటుంది.