Git Product home page Git Product logo

stationmap's Introduction

Directory
=========
    * build/    : compile 및 build 관련 디렉토리 ( cmake -> makefile )
    * inc/      : header files
    * lib/      : 기능 구현에 필요한 함수들을 기능 단위로 분할한 모듈들
    * main/     : main
    * out/      : install 떨어지는 폴더. 최종 bin 실행파일 여기로


Algorithm
=========
    1. 지하철역은 이중 연결 리스트 StationList 로 구현
    2. 지하철은 시계/반시계 방향, 각 단일 연결 리스트 SubwayList 로 구현
    3. 매 초마다 출발기준역을 0 거리값 기준으로 하여, SubwayList 거리 기준 내림차순 정렬
        1) 거리가 같을 시, 주요 순환 노선이 priority 높음
        2) 거리가 같고 지하철 역도 동일할 경우(아직 출발 안 했을 때), 지하철 번호가 낮을수록 priority 높음
    4. 정렬된 SubwayList의 Head부터 매 초 순차 처리


Rule
====
    1.  ( 최초 운행 시작 시 규칙 )
        - 홀수번대 지하철은 왕십리에서 첫출발 합니다. 
        - 짝수번대 지하철은 신도림에서 첫출발을 합니다.
        - 각 지하철은 출발시 직전차 출발후 8분후에 다음차가 출발 합니다. 

    2.  ( 정차 시 규칙 )
        - 태극무늬역은 각 지하철이 5분간 정차후 출발합니다. 
        - 흰색원역은 각 지하철이 3분간 정차후 출발합니다.

    3.  ( 출발 직전 규칙 )
        - 각 지하철은 현재도착한역 앞쪽역에 앞선 지하철이 있을경우 충돌을 피하고 텀을 주기위해 약 1분간 더 정차후 출발 합니다.

    4.  ( 이동 방향 규칙 )
        - 홀수번대 지하철중 3의 배수번호 차량은 첫출발 차부터 성수역에서 신설동역을 들려 되돌아 나와 운행 합니다. 
        - 짝수번대 지하철중 4의 배수번호 차량은 첫출발 차부터 신도림역에서 까치산을 들려 되돌아 나와 운행 합니다. 

    5.  ( 이동 시간 규칙 )
        - 역과 역 사이의 이동시간은 2분이 걸립니다.


How to use
==========
    - build 폴더에 들어가서 아래 명령어 순차대로 입력 
    - 'cmake .'
    - 'make'
    - './runFile'

stationmap's People

Contributors

so686so avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.