게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
define sawp 안쓰고 풀수있나요? C++ 이에요 도와주세요~
게시물ID : programmer_16539짧은주소 복사하기
작성자 : cissp
추천 : 0
조회수 : 312회
댓글수 : 4개
등록시간 : 2016/04/05 19:13:16
옵션
  • 본인삭제금지

#include <stdio.h>
#include <stdlib.h>
#define SWAP(a,b,c) ((c)=(b), (b)=(a), (a)=(c))
struct process
{
    int p_num;
 int a_time;
 int b_time;
}p[50];
int main(void)
{
   FILE *in,*out;
   in=fopen("fcfs.inp", "r");
   out=fopen("fcfs.out", "w");
  
   int p_c=0;
 
      int i,j,temp=0,result=0, temp1=0;
  int a;
   if(in==NULL)
   {
    printf("file open error!\n");
    exit(1);
      }
     
 fscanf(in,"%d",&p_c);
 if(p_c>50)
 {
  fprintf(out,"허용 범위를 넘었습니다.\n");
  return 0;
 }
   
 for(int i=0; i<p_c; i++)
 {
  fscanf(in,"%d",&p[i].p_num);
     fscanf(in,"%d",&p[i].a_time);
     fscanf(in,"%d",&p[i].b_time);
    }
 // arrival 순으로 정렬
 for(i=p_c-1; i>0; i--)
 {
  for(j=0; j<i; j++)
  {
   if(p[j].a_time > p[j+1].a_time  ){
    SWAP(p[j].a_time, p[j+1].a_time, temp);
          SWAP(p[j].b_time, p[j+1].b_time, temp);
    SWAP(p[j].p_num, p[j+1].p_num, temp);
   }
   else if(p[j].a_time == p[j+1].a_time && p[j].p_num > p[j+1].p_num){
                SWAP(p[j].a_time, p[j+1].a_time, temp);
          SWAP(p[j].b_time, p[j+1].b_time, temp);
    SWAP(p[j].p_num, p[j+1].p_num, temp);
   }
  }
 }
 
 for(a=0; a<p_c; a++){
  if(temp1 < p[a].a_time)
  {
   while(temp1!=p[a].a_time)
    temp1+=1;
  }
  result += temp1 - p[a].a_time;
  temp1+=p[a].b_time ;
  
  
   
  
 }
 fprintf(out,"%d",result);
 fclose(in);
 fclose(out);
    
    return 0;
  
}
 
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호