সমস্যা : সংযুক্ত বহুভুজের গর্তের সংখ্যা গণনা করুন। বহুভুজটির সংযোগটি এই শর্ত দ্বারা গ্যারান্টিযুক্ত যে ইনপুট ত্রিভুজাকৃতির প্রতিটি ত্রিভুজ অন্য ত্রিভুজটির সাথে কমপক্ষে 1 টি ভাগ করে এবং ত্রিভুজগুলির মধ্যে কেবল একটি সংযুক্ত সেট রয়েছে।
ইনপুট একটি তালিকা রয়েছে L
এর n
সমতলে পয়েন্ট এবং একটি তালিকা T
থেকে এন্ট্রি সঙ্গে 3-tuples এর 0...n-1
। T
টিউলের প্রতিটি আইটেমের জন্য ত্রিভুজের একটি ত্রিভুজের (t_1,t_2,t_3)
তিনটি শীর্ষ কোণ (তালিকা থেকে L
) উপস্থাপন করা হয়। দ্রষ্টব্য যে এটি 'বহুভুজ ত্রিভুজান' অর্থে একটি ত্রিভুজযন্ত্র , কারণ এর T
ফলে ওভারল্যাপে কখনও দুটি ত্রিভুজ থাকবে না । একটি অতিরিক্ত শর্ত হ'ল আপনাকে ইনপুটটি স্যানিটাইজ করতে হবে না L
এবং T
কোনও পুনরাবৃত্তি থাকবে না।
উদাহরণ 1 : যদি L = {{0,0},{1,0},{0,1},{1,2}}
এবং T = {{0,1,2},{1,2,3}}
তারপরে নির্দিষ্ট বহুভুজের 0 টির একটি গর্ত গণনা থাকে।
উদাহরণ 2 : যদি L = {{0,0},{1,0},{2,0},{2,1},{2,2},{1,2},{0,2},{0,1},{.5,.5},{1.5,.5},{1.5,1.5},{.5,1.5}}
এবং T = {{5,6,11},{5,10,11},{4,5,10},{3,8,10},{2,3,9},{2,8,9},{1,2,8},{0,1,8},{0,8,11},{0,7,11},{6,7,11},{3,4,10}}
তারপরে বহুভুজ ইনপুটটির ফলাফল 2 হয় output
কাজটি হ'ল সংক্ষিপ্ততম প্রোগ্রাম (বা ফাংশন) লিখুন যা ইনপুট হিসাবে গ্রহণ করে L
এবং T
গর্তের সংখ্যা প্রদান করে। 'বিজয়ী' ন্যূনতম অক্ষর গণনা (অস্থায়ী শেষ তারিখ 1 জুন) সহ এন্ট্রি হিসাবে স্বীকৃত হবে।
নমুনা ইনপুট ফর্ম্যাটিং (0 সূচকে নোট করুন):
0,0
1,0
0,1
1,2
0,1,2
1,2,3
T=1,2,3/1,4,5
সংযুক্ত কিন্তু প্রান্ত-সংযুক্ত নয়)
T=1,2,3/1,2,4/5,6,7/5,6,8
। প্রতিটি ত্রিভুজটি অন্য ত্রিভুজটির সাথে একটি কিনারা ভাগ করে, তবে ত্রিভুজটি সংযোগ বিচ্ছিন্ন হয়ে যায়