এই প্রোগ্রামে, আমরা একটি গ্রাফের এজ কালারিং সঞ্চালন করব যেখানে আমাদের গ্রাফের প্রান্তগুলিকে রঙ করতে হবে যাতে দুটি সংলগ্ন প্রান্তের একই রঙ নেই৷ উদাহরণের ধাপগুলি৷
অ্যালগরিদম
শুরু করুন গ্রাফে শীর্ষবিন্দুর সংখ্যা, n, এবং তারপর প্রান্তের সংখ্যা, e, ইনপুট নিন। গ্রাফটি সংলগ্ন তালিকা হিসাবে সংরক্ষণ করা হয়। BFS সারি ব্যবহার করে প্রয়োগ করা হয় এবং প্রতিটি প্রান্তে রং বরাদ্দ করা হয়।উদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int n, e, i, j;vector >> g;vector color;bool v[111001];void col(int n) { queue q; int c =0; সেট vertex_colored; যদি(v[n]) ফিরে আসে; v[n] =1; for(i =0;i খালি; cout<<"যথাক্রমে শীর্ষবিন্দু এবং প্রান্তের সংখ্যা লিখুন:"; cin>>n>>e; cout<<"\n"; g.resize(n); // শীর্ষবিন্দুর সংখ্যা color.resize(e,-1); // প্রান্ত মেমসেটের সংখ্যা(v,0,sizeof(v)); for(i =0;i >u>>w; u--; w--; g[u].push_back(make_pair(w,i)); g[w].push_back(make_pair(u,i)); } col(0); for(i =0;i আউটপুট
ক্রমানুসারে শীর্ষবিন্দু এবং প্রান্তের সংখ্যা লিখুন:4 5প্রান্তের প্রান্তের শীর্ষবিন্দুগুলি লিখুন 1 :1 2প্রান্তের প্রান্তের শীর্ষবিন্দুগুলি প্রবেশ করান 2 :2 3প্রান্তের প্রান্তের শীর্ষবিন্দুগুলি প্রবেশ করান 3 :1 1প্রান্তের প্রান্তের শীর্ষবিন্দুগুলি লিখুন :1 4Edge 1 রঙিন 1Edge 2 রঙিন 2Edge 3 রঙিন 2Edge 4 রঙিন 1Edge 5 রং 3 দিয়ে রঙিন হয়