- 이게 퍼미테이션인가요 펙토리알이지... main에서 permi함수는 한 번만 쓰세요 - 유재범
2. 지하철 노선도
15/05/12. FINISH
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma warning (disable:4996)
int findstation(char a[20])
{
int var = 0;
char ninestation_west[40][12] = { "동작", "흑석", "노들", "노량진", "샛강", "여의도", "국회의사당", "당산", "선유도", "신목동", "염창",
"등촌", "증미", "가양", "양천향교", "마곡나루", "신방화", "공항시장", "김포공항", "개화" };
char ninestation_east[22][12] = { "동작", "구반포", "신반포", "고속터미널", "사평", "신논현",
"언주", "선정릉", "삼성중앙", "봉은사", "종합운동장" };
char fourstation_top[44][20] = { "동작", "이촌", "신용산", "삼각지", "숙대입구", "서울역", "회현", "명동", "충무로", "동대문역사문화공원", "동대문",
"혜화", "한성대입구", "성신여대입구", "길음", "미아사거리", "미아", "수유", "쌍문", "창동", "노원", "상계", "당고개" };
char fourstation_down[52][20] = { "동작", "이수", "사당", "남태령", "선바위", "경마공원",
"대공원", "과천", "정부과천청사", "인덕원", "평촌", "범계", "금정", "산본", "수리산", "대야미", "반월", "상록수", "한대앞", "중앙", "고잔", "초지", "안산", "신길온천",
"정왕", "오이도" };
for (int k = 0; k < 30; k++){
if (strcmp(a, ninestation_west[k])==0){
var = k * 3;
break;
}
else if (strcmp(a, ninestation_east[k])==0){
var = k * 3;
break;
}
else if (strcmp(a,fourstation_down[k])==0){
var = k * (-5);
break;
}
else if (strcmp(a,fourstation_top[k])==0){
var = k * (-5);
break;
} // 어느 역인지 확인하는 작업
}
return var;
}
int main(){
int transfer = 0; // 환승여부 판단
int depvar = 0, arrvar = 0, time = 0; // 사당으로부터의 거리
char departure[20];
char arrive[20];
printf("출발역과 도착역을 순서대로 입력하세요\n");
scanf("%s %s", departure, arrive);
depvar = findstation(departure);
arrvar = findstation(arrive);
if (depvar*arrvar < 0){
transfer = 1;
}
depvar = abs(depvar);
arrvar = abs(arrvar);
printf("출발역: %s\n도착역:%s\n소요시간:%d\n", departure, arrive, depvar + arrvar);
if (transfer == 1){
printf("환승역:사당\n");
}
return 0;
}