চাক নরিস বনাম ট্র্যাভেলিং সেলসম্যান


19

ভূমিকা

ট্র্যাভেলিং বিক্রয় সমস্যা (টিএসপি) এর সাথে প্রায় সবাই পরিচিত । Nনগরগুলির একটি তালিকা দেওয়া হল, ন্যূনতম হ্যামিল্টোনীয় চক্রটি খুঁজে বের করা, যা প্রতিটি শহরে পরিদর্শন করা এবং শুরুতে পুরো-বৃত্তে ফিরে আসা সংক্ষিপ্ততম পথটি বলে। এই চ্যালেঞ্জ সম্পর্কে কি নয়। এই চ্যালেঞ্জটি হ'ল টিএসপিতে চক নরিসের সমাধানটি কার্যকর করা:

চাক নরিস O(1)সময়মতো ট্র্যাভেলিং সেলসম্যান সমস্যা সমাধান করেছেন : বিক্রয়কর্মীকে এন টুকরো টুকরো করুন; প্রতিটি টুকরোকে আলাদা শহরে লাথি দিন city

চ্যালেঞ্জ

টিএসপিকে এইভাবে সমাধান করার জন্য, আমাদের পর্যাপ্ত টেকসই বিক্রয়কর্মী দরকার যা ভেঙে ফেলার মতো কুফলগুলি থেকে বিরত থাকবেন না; দেখার জন্য বেশ কয়েকটি শহর; পণ্য বিক্রয় একটি সেট; ভাঙার জন্য একটি কংক্রিট পদ্ধতি; এবং স্কোর করার জন্য একটি গণনা।

সবিস্তার বিবরণী

  • শহর
    • N আমাদের বিক্রয়কর্মী পরিদর্শন করার সংখ্যাটি কি
  • বিক্রয়িক
    • মূল প্রোগ্রাম বা ফাংশন
    • ভাষায় লেখা X
    • Nসমান দৈর্ঘ্য মোড সহ0
  • পণ্য
    • পর্যায় সারণীতে উপাদানগুলির পুরো নাম
    • এর মধ্যে উপাদানগুলির সদ্য গৃহীত নাম অন্তর্ভুক্ত রয়েছে
  • বিভাজন
    • Nসমতুল্য দৈর্ঘ্যের একটানা টুকরো করে বিক্রয়কর্তাকে টুকরো টুকরো করা
    • প্রতিটি অংশ ভাষাতে একটি বৈধ ফাংশন বা প্রোগ্রাম হওয়া উচিত X
  • আউটপুট
    • যখন মৃত্যুদণ্ড কার্যকর করা উচিত বিক্রয়কর্মীর উচিত আউটপুট Chuck Norrisএবং টুকরো টুকরো প্রতিটি আউটপুট একটি পৃথক পণ্য উচিত
    • শুধুমাত্র অতিরিক্ত পেছনের সাদা স্থান গ্রহণযোগ্য
  • স্কোরিং
    • Lবর্ধিত বিক্রয়কর্মীর দৈর্ঘ্য, শহরগুলির সংখ্যা দ্বারা বিভক্ত N, স্কোয়ার।
    • Score = L/(N*N)
    • সবচেয়ে ছোট স্কোর জয়
    • আপনার দশমিক স্কোর পোস্ট করার সময় দয়া করে 3 টি গুরুত্বপূর্ণ চিত্র অন্তর্ভুক্ত করুন

উদাহরণ

  1. এই বিক্রয়কর্মী 3 টি শহর পরিদর্শন করে N=3এবং এর দৈর্ঘ্য 9 টি L=9। সুতরাং এই উত্তরের জন্য স্কোর হবে S = 9 / (3 * 3) = 9/9 = 1
    • নোট করুন যে বিক্রয়কর্মী এবং প্রতিটি কাটা টুকরো টুকরো (যার মধ্যে 3 টি রয়েছে) সমস্তই একই ভাষায় বৈধ প্রোগ্রাম বা ফাংশন হওয়া উচিত।
Program      -> Output
-------         ------
aaaBBBccc    -> Chuck Norris

aaa          -> Helium
BBB          -> Iridium
ccc          -> Tennessine
  1. N=4এবং L=20তাইS=20/16=1.25
Program                 -> Output
-------                    ------
aaaaaBBBBBcccccDDDDD    -> Chuck Norris

aaaaa                   -> Hydrogen
BBBBB                   -> Cadmium
ccccc                   -> Mercury
DDDDD                   -> Iron

3
গণিতের মতো বিল্ট-ইনগুলি কি ElementDataঅনুমোদিত? (আমি সন্দেহ করি এটি অনেকটা সাশ্রয় করবে, কিন্তু আমি জানি না))
মার্টিন এন্ডার

আউটপুটগুলির মূলধন কি গুরুত্বপূর্ণ?
মার্টিন এন্ডার

1
@MartinEnder ^^ হ্যাঁ ^ হ্যাঁ
NonlinearFruit

6
ঘনিষ্ঠ ভোটারদের মধ্যে যে কোনওটি তারা আসলে কোন অংশটি অস্পষ্ট বলে বোঝাতে পারেন? (আমি জানি এটি কেবল আমার দুটি প্রশ্ন হতে পারে না, যেগুলি আমি চ্যালেঞ্জের মধ্যে স্পষ্টভাবে মোকাবিলা করার প্রয়োজনও মনে করি না, কারণ আমি যখন পোস্ট করেছি তখন ইতিমধ্যে নিকট ভোট ছিল।)
মার্টিন ইন্ডার

2
সম্পূর্ণভাবে @ মার্টিনএেন্ডারের সাথে সম্মত হন। আপনি যদি চ্যালেঞ্জ পছন্দ করেন না, তবে অন্য একটি চেষ্টা করুন।
edc65

উত্তর:


11

সিজেম, এল = 1482, এন = 114, স্কোর 0.114

'C:L"arbon"  L'h+:L;"Gold"L'u+:L;"Iron"L'c+:L;"Lead"L'k+:L;"Neon"LS+:L;"Argon"L'N+:L"ickel"L'o+:L;"Zinc""Coppe"L'r+:L"Silve"L'r+:LL'i+:L;"Tin" "Boron"      "Radon"      "Barium"     "Cerium"     "Cesium"     "Cobalt"     "Curium"     "Erbium"     "Helium"     "Indium"     "Iodine"     "Osmium"     "Oxygen"     "Radium"     "Sodium"     "Sulfur"     "Arsenic"    "Bismuth"    "Bohrium"    "Bromine"    "Cadmium"    "Calcium"    "Dubnium"    "Fermium"    "Gallium"    "Hafnium"    "Hassium"    "Holmium"    "Iridium"    "Krypton"    "Lithium"    "Mercury"    "Niobium"    "Rhenium"    "Rhodium"    "Silicon"    "Terbium"    "Thorium"    "Thulium"    "Uranium"    "Yttrium"    "Actinium"   "Aluminum"   "Antimony"   "Astatine"   "Chlorine"   "Chromium"   "Europium"   "Fluorine"   "Francium"   "Hydrogen"   "Lutetium"   "Nihonium"   "Nitrogen"   "Nobelium"   "Platinum"   "Polonium"   "Rubidium"   "Samarium"   "Scandium"   "Selenium"   "Tantalum"   "Thallium"   "Titanium"   "Tungsten"   "Vanadium"   "Americium"  "Berkelium"  "Beryllium"  "Flerovium"  "Germanium"  "Lanthanum"  "Magnesium"  "Manganese"  "Moscovium"  "Neodymium"  "Neptunium"  "Oganesson"  "Palladium"  "Plutonium"  "Potassium"  "Ruthenium"  "Strontium"  "Tellurium"  "Ytterbium"  "Zirconium"  "Dysprosium" "Gadolinium" "Lawrencium" "Meitnerium" "Molybdenum" "Phosphorus" "Promethium" "Seaborgium" "Technetium" "Tennessine" "Californium""Copernicium""Einsteinium""Livermorium""Mendelevium""Roentgenium"]L's+"Xenon"?

এটি অনলাইন চেষ্টা করুন!

প্রতিটি প্রোগ্রাম 13 বাইট দীর্ঘ। এখানে তারা পৃথক লাইনে বিভক্ত হয়েছে:

'C:L"arbon"  
L'h+:L;"Gold"
L'u+:L;"Iron"
L'c+:L;"Lead"
L'k+:L;"Neon"
LS+:L;"Argon"
L'N+:L"ickel"
L'o+:L;"Zinc"
"Coppe"L'r+:L
"Silve"L'r+:L
L'i+:L;"Tin" 
"Boron"      
"Radon"      
"Barium"     
"Cerium"     
"Cesium"     
"Cobalt"     
"Curium"     
"Erbium"     
"Helium"     
"Indium"     
"Iodine"     
"Osmium"     
"Oxygen"     
"Radium"     
"Sodium"     
"Sulfur"     
"Arsenic"    
"Bismuth"    
"Bohrium"    
"Bromine"    
"Cadmium"    
"Calcium"    
"Dubnium"    
"Fermium"    
"Gallium"    
"Hafnium"    
"Hassium"    
"Holmium"    
"Iridium"    
"Krypton"    
"Lithium"    
"Mercury"    
"Niobium"    
"Rhenium"    
"Rhodium"    
"Silicon"    
"Terbium"    
"Thorium"    
"Thulium"    
"Uranium"    
"Yttrium"    
"Actinium"   
"Aluminum"   
"Antimony"   
"Astatine"   
"Chlorine"   
"Chromium"   
"Europium"   
"Fluorine"   
"Francium"   
"Hydrogen"   
"Lutetium"   
"Nihonium"   
"Nitrogen"   
"Nobelium"   
"Platinum"   
"Polonium"   
"Rubidium"   
"Samarium"   
"Scandium"   
"Selenium"   
"Tantalum"   
"Thallium"   
"Titanium"   
"Tungsten"   
"Vanadium"   
"Americium"  
"Berkelium"  
"Beryllium"  
"Flerovium"  
"Germanium"  
"Lanthanum"  
"Magnesium"  
"Manganese"  
"Moscovium"  
"Neodymium"  
"Neptunium"  
"Oganesson"  
"Palladium"  
"Plutonium"  
"Potassium"  
"Ruthenium"  
"Strontium"  
"Tellurium"  
"Ytterbium"  
"Zirconium"  
"Dysprosium" 
"Gadolinium" 
"Lawrencium" 
"Meitnerium" 
"Molybdenum" 
"Phosphorus" 
"Promethium" 
"Seaborgium" 
"Technetium" 
"Tennessine" 
"Californium"
"Copernicium"
"Einsteinium"
"Livermorium"
"Mendelevium"
"Roentgenium"
]L's+"Xenon"?

অনুপস্থিত উপাদানগুলি হ'ল ডর্মস্টাডটিয়াম, প্রসোডিয়ামিয়াম, প্রোট্যাকটিনিয়াম এবং রাদারফোর্ডিয়াম যা 12 বা 13 অক্ষর দীর্ঘ যার অর্থ আমি এগুলি 13 টি অক্ষরে মুদ্রণ করতে পারি না।

ধারণাটি হ'ল প্রথম কয়েকটি প্রোগ্রাম, যা সংক্ষিপ্ত নামগুলির সাথে উপাদানগুলি মুদ্রণ Chuck Norriকরে ভেরিয়েবলের স্ট্রিং তৈরি করতে তাদের বহিরাগত অক্ষরগুলি ব্যবহার করে, যা তাদের নিজস্বভাবে ব্যবহার করার Lসময় আউটপুটকে প্রভাবিত করে না। চূড়ান্ত প্রোগ্রামটি তখন যাচাই করে ফেলেছে কিছু ইতিমধ্যে স্ট্যাকের মধ্যে রয়েছে কিনা এবং এটি L(প্লাস s) এবং এর মধ্যে চয়ন করতে ব্যবহার করে Xenon

কয়েক অতিরিক্ত বাইট অক্ষর আমরা শুধু যোগ করা ব্যবহার করে সংরক্ষিত হয় Lজন্য বিশেষভাবে উপাদান নামের অংশ হিসাবে, CArbon, Nickel, Coppe rএবং Silve r


2

পাইথন, এল = 2596, এন = 118, স্কোর = 0.186

প্রতিটি স্লাইসের দৈর্ঘ্য 22 হয় যাতে এটি বেশ দীর্ঘ হয়।

lambda:"Gold"; print"""";print "Carbon     "print   "Thorium     "print   "Curium      "print "Calcium       "print "Nickel        "print      "Zinc     "print    "Neon       "print "Boron         "print   "Iron        "print  "Cerium       "print "Barium        "print "Caesium       """[9::22];lambda:"Tin"[0];lambda:"Lead    "#print"Argon          "print"Radon          "print"Xenon          "print"Erbium         "print"Cobalt         "print"Copper         "print"Helium         "print"Indium         "print"Iodine         "print"Osmium         "print"Oxygen         "print"Radium         "print"Silver         "print"Sodium         "print"Sulfur         "print"Arsenic        "print"Bismuth        "print"Bohrium        "print"Bromine        "print"Cadmium        "print"Dubnium        "print"Fermium        "print"Gallium        "print"Hafnium        "print"Hassium        "print"Holmium        "print"Iridium        "print"Krypton        "print"Lithium        "print"Mercury        "print"Niobium        "print"Rhenium        "print"Rhodium        "print"Silicon        "print"Terbium        "print"Thulium        "print"Uranium        "print"Yttrium        "print"Actinium       "print"Antimony       "print"Astatine       "print"Chlorine       "print"Chromium       "print"Europium       "print"Fluorine       "print"Francium       "print"Hydrogen       "print"Lutetium       "print"Nitrogen       "print"Nobelium       "print"Platinum       "print"Polonium       "print"Rubidium       "print"Samarium       "print"Scandium       "print"Selenium       "print"Tantalum       "print"Thallium       "print"Titanium       "print"Tungsten       "print"Vanadium       "print"Nihonium       "print"Aluminium      "print"Americium      "print"Berkelium      "print"Beryllium      "print"Flerovium      "print"Germanium      "print"Lanthanum      "print"Magnesium      "print"Manganese      "print"Neodymium      "print"Neptunium      "print"Palladium      "print"Plutonium      "print"Potassium      "print"Ruthenium      "print"Strontium      "print"Tellurium      "print"Ytterbium      "print"Zirconium      "print"Moscovium      "print"Oganesson      "print"Dysprosium     "print"Gadolinium     "print"Lawrencium     "print"Meitnerium     "print"Molybdenum     "print"Phosphorus     "print"Promethium     "print"Seaborgium     "print"Technetium     "print"Tennessine     "print"Californium    "print"Copernicium    "print"Einsteinium    "print"Livermorium    "print"Mendelevium    "print"Roentgenium    "print"Darmstadtium   "print"Praseodymium   "print"Protactinium   "print"Rutherfordium  "

স্লাইসিং এবং ডাইটিংয়ের পরে বিক্রয়কর্তা এখানে:

lambda:"Gold"; print""  # <-- This is a function
"";print "Carbon     "
print   "Thorium     "
print   "Curium      "
print "Calcium       "
print "Nickel        "
print      "Zinc     "
print    "Neon       "
print "Boron         "
print   "Iron        "
print  "Cerium       "
print "Barium        "
print "Caesium       "
""[9::22];lambda:"Tin"  # <-- This is a function and the choke point
[0];lambda:"Lead    "#  # <-- This is a function
print"Argon          "
print"Radon          "
print"Xenon          "
print"Erbium         "
print"Cobalt         "
print"Copper         "
print"Helium         "
print"Indium         "
print"Iodine         "
print"Osmium         "
print"Oxygen         "
print"Radium         "
print"Silver         "
print"Sodium         "
print"Sulfur         "
print"Arsenic        "
print"Bismuth        "
print"Bohrium        "
print"Bromine        "
print"Cadmium        "
print"Dubnium        "
print"Fermium        "
print"Gallium        "
print"Hafnium        "
print"Hassium        "
print"Holmium        "
print"Iridium        "
print"Krypton        "
print"Lithium        "
print"Mercury        "
print"Niobium        "
print"Rhenium        "
print"Rhodium        "
print"Silicon        "
print"Terbium        "
print"Thulium        "
print"Uranium        "
print"Yttrium        "
print"Actinium       "
print"Antimony       "
print"Astatine       "
print"Chlorine       "
print"Chromium       "
print"Europium       "
print"Fluorine       "
print"Francium       "
print"Hydrogen       "
print"Lutetium       "
print"Nitrogen       "
print"Nobelium       "
print"Platinum       "
print"Polonium       "
print"Rubidium       "
print"Samarium       "
print"Scandium       "
print"Selenium       "
print"Tantalum       "
print"Thallium       "
print"Titanium       "
print"Tungsten       "
print"Vanadium       "
print"Nihonium       "
print"Aluminium      "
print"Americium      "
print"Berkelium      "
print"Beryllium      "
print"Flerovium      "
print"Germanium      "
print"Lanthanum      "
print"Magnesium      "
print"Manganese      "
print"Neodymium      "
print"Neptunium      "
print"Palladium      "
print"Plutonium      "
print"Potassium      "
print"Ruthenium      "
print"Strontium      "
print"Tellurium      "
print"Ytterbium      "
print"Zirconium      "
print"Moscovium      "
print"Oganesson      "
print"Dysprosium     "
print"Gadolinium     "
print"Lawrencium     "
print"Meitnerium     "
print"Molybdenum     "
print"Phosphorus     "
print"Promethium     "
print"Seaborgium     "
print"Technetium     "
print"Tennessine     "
print"Californium    "
print"Copernicium    "
print"Einsteinium    "
print"Livermorium    "
print"Mendelevium    "
print"Roentgenium    "
print"Darmstadtium   "
print"Praseodymium   "
print"Protactinium   "
print"Rutherfordium  "

এখানে চিত্র বর্ণনা লিখুন


হালনাগাদ

  • [১ 16-০৯-০৮] মন্তব্য মন্তব্যতে শেষ হওয়া লাইনে যোগ দেওয়ার সময় সাব্লাইম একটি অতিরিক্ত স্থান যুক্ত করেছে
  • [16-09-08] প্রতিটি স্লাইস 22 টি অক্ষর দীর্ঘ এবং যোগ gif তৈরি

আমি পাইথনে মোটামুটি জানি, কীভাবে lambda:"Actinium";print""অ্যাক্টিনিয়াম আউটপুট দেয় ? এটি কি পাইথন 3 এর জন্য বিশেষ?
লিনাস

@Linus ল্যামডা কী শব্দ একটি বেনামী ফাংশন যা কোন প্যারামিটার এবং আয় লাগে সৃষ্টি Actiniumprint ""পরে সেলসম্যান dismembered হয়েছে কিছু দরকারী করি না।
ননলাইনফর্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.