Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Quantitiative Aptitude
  • Logical Reasoning
  • Verbal Ability
  • Aptitude Quiz
  • Quantitiative Aptitude Quiz
  • Verbal Ability Quiz
  • Aptitude For Placements
  • Interview Corner
  • Practice Sets
Open In App
Next Article:
Puzzle | The Circle of Lights
Next article icon

Puzzle | The Circle of Lights

Last Updated : 18 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report
There is a circle of N > 2 lights with a switch next to each of them. Each switch can be flipped between two positions, thereby toggling the on/off states of three lights: its own and the two lights adjacent to it. Initially, all the lights are off. Design an algorithm for turning all the lights on by flipping the minimum number of switches. Solution: Since all the lights are off initially, it is obvious that the final state of the lights depends only on the parity(odd or even) of the number of times each switch is flipped and does not depend on the order in which the switches are manipulated. To turn on a light, we can either flip its switch and leave the adjacent switches off, or we flip all the three switches, for a group of three lights. Assuming the lights are numbered from 1 to N in the clockwise order, we have two cases.
  1. N is divisible in 3: In this case, we flip the switch for 1st bulb, which lights the bulbs 1, 2 and N. Then we flip the switch of 4th bulb, which lights the bulb 3, 4, and 5. In this manner, we flip the switch of every 3K + 1 bulb until we flip the switch of N - 2 bulb, which will light up the last 3 bulbs. This results in a total of N/3 switch flips.
  2. N is not divisible by 3: In this case, suppose we follow the same procedure as above. This will only turn on the bulbs in multiple of 3. So at last, there will be one or two bulbs, which will be off. Flipping the switch of one of these bulbs, we turn off at least one bulb. This bulb, say X, which now has gone off due to the previous flip has been toggled even number of times, to turn it on, the switch of either X or one of its adjacent bulbs which hasn't been flipped needs to be flipped. In this way, we have to flip the switch of each of the bulb whose switch hasn't been flipped. This results in a total of N switch flips.

  3. Next Article
    Puzzle | The Circle of Lights

    C

    CharchitKapoor
    Improve
    Article Tags :
    • Aptitude
    • Logical Puzzles

    Similar Reads

      Puzzle | Light all the bulbs
      Problem Statement: Consider a circle with 2014 light bulbs and only 2 of them are on and the rest are off. Anyone can choose any of the bulbs and change the state of the neighboring bulbs. The task is to switch all the 2014 light bulbs on?Solution: Yes, it is possible to get all the light bulbs ON.F
      2 min read
      Puzzle 42 | (Placing the numbers)
      Place the numbers 1, 2, 3, 4, 5, 6, 7, 8 into the eight circles in figure given below, in such a way that no number is adjacent to a number that is next to it in the sequence.For example 1 should not be adjacent to 2 but can be adjacent to 3, 4, 5, 6, 7, 8. Similarly for others. We strongly recommen
      2 min read
      Puzzle - Two Creepers Climbing a Tree
      Question: Jasmine and rose creepers are two creepers (climbing plants) that are both climbing up and around a cylindrical tree trunk. Both jasmine and rose begin at the same spot on the ground and twist both clockwise and counterclockwise. The rose had done three complete twists and the jasmine had
      3 min read
      Important Points About Circle
      The collection of all the points in a plane, which are at a fixed distance from a fixed point in the plane, is called a circle. Here, the fixed point is called the center “O”. Some of the important terminologies used in the circle are as follows:circleThese are following important points about circl
      4 min read
      Puzzle | Maximum pieces that can be cut from a Circle using 6 straight lines
      PUZZLE:Given a Circle and Six Straight Lines. What is the maximum number of pieces that one can cut the circle using these six straight lines?SOLUTION:Using six lines, we can cut the circle into 22 pieces at maximum.Using one line, the circle can be divided into two parts.Two lines divide the circle
      1 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences