Skip to main content

First post using stackedit

Welcome to StackEdit! Hey! I’m your first Markdown document in StackEdit 1 . Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog. Documents StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline! Note: StackEdit is accessible offline after the application has been loaded for the first time. Your local documents are not shared between different browsers or computers. Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section). Create a document The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel. Switch to another document All your local documents are listed in the document panel. You can switch from one to anoth

Finding a room of the princess



There is an interview question as following:

There are 17 rooms line up from 1 to 17. There is a princess who start at a room, then every night she will move to the room next to the previous one (i.e, she has to move to the left or right room - she cannot say at the same room).

You are a beast who has to find the princess to be back a prince. Every night, you can open one and only one room to check if the princess is inside or not. You have 30 nights to find the princess, otherwise ... boom!

Below is the number of the room the beast (or the future prince) should follow to check during 30 nights:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2

Explaining why it is a good strategy might be an interesting task for the reader.

I wrote a small application to simulate this strategy at: http://www.codeskulptor.org/#user38_wKWpYR0yZ3_2.py

Probably you cannot run the simulation online, but you can get the Python code and try in your computer.

Comments

Popular posts from this blog

Sử dụng gcov để kiểm tra sourcecode

Sau khi hoàn thành source code, trong test phase, có thể chúng ta cần kiểm tra tập test case của chúng ta có coverage tất cả các trường hợp có thể xảy ra hay không, hành động này gọi là test code coverage. Có nhiều tool miễn phí cũng như có phí để thực hiện việc này, nhưng đơn giản nhất là sử dụng công cụ gcov đi kèm trong trình biên dịch gcc. Để đọc chi tiết hơn về gcov, bạn có thể vào http://gcc.gnu.org/onlinedocs/gcc/Gcov.html#Gcov, hoặc tìm kiếm với Google. Sử dụng gcov khá đơn giản, giả sử ta có 3 file a.c, b.c và c.c. Truy cập vào thư mục chứa 3 files này, gõ: gcc -fprofile-arcs -ftest-coverage a.c b.c c.c Mặc định gcc sẽ tạo ra file a.out trong thư mục hiện thời, cùng với 3 file a.gcno, b.gcno và c.gcno. Sau đó bạn chạy file a.out với các parameter cần thiết, sẽ tạo ra thêm 3 file a.gcda, b.gcda và c.gcda. Sau đó, giả sử cần phân tích file b.c, chúng ta gõ: gcov b.c Có hai tham số thường dùng là -b và -f: -b: thêm thông tin về branch trong code. -f: thêm thông tin về hàm. Thông

Getting started with Cryptpad in Ubuntu: step by step

Cryptpad is an open source collaborative editor which is hosted at: https://github.com/cjdelisle/cryptpad It is easy to clone the github repository and start to try, but if you are a newbie, there maybe some difficulties. Suppose that you have a clean Ubuntu machine, and want to try with Cryptpad, you can follow these steps: 1. Download mongodb for Linux: https://www.mongodb.org/downloads 2. Unzip the file you got to a location you want. You will start mongodb from there, or add this directory to your PATH variable so you can start mongodb from anywhere. 3. Suppose that you chose the easier way, i.e start mongodb from its directory. 4. Open Terminal (Ctrl + Alt + T for shortcut), move to the directory of mongodb 5. Type: mkdir db mongod --dbpath=./db These above commands will first, create a directory 'db' insider the directory mongodb, then start mongodb server. 6. Keep the terminal with mongodb server running 7. Open another terminal (Ctrl + Shift +

First post using stackedit

Welcome to StackEdit! Hey! I’m your first Markdown document in StackEdit 1 . Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog. Documents StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline! Note: StackEdit is accessible offline after the application has been loaded for the first time. Your local documents are not shared between different browsers or computers. Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section). Create a document The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel. Switch to another document All your local documents are listed in the document panel. You can switch from one to anoth