모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : humorbest_708750
    작성자 : 안상
    추천 : 58
    조회수 : 3915
    IP : 211.229.***.127
    댓글 : 3개
    베스트 등록시간 : 2013/07/07 10:46:41
    원글작성시간 : 2013/07/03 15:37:22
    http://todayhumor.com/?humorbest_708750 모바일
    코드저장
    #include <stdio.h>
    #include <list>
    #include <algorithm>
    #include <iostream>

    #include <fstream>
     
     
     
     
     
     
     
    typedef struct  node{   //노드클래스선언
     
        node *child1;
        node *child2;
         
        int val;
        bool e;
        bool root;
        int Pint;
        int rank;
    }node;
     
     
     
     
     
    typedef struct _tagPoint{                  //실행타입 매개면수 저장 구조체
         int x; 
         int y;
    }POINT;
     
     
     
     
    void set_rank(node*); 
    node* set_e(node*);
     
    bool cmp(node a, node b){
    if(a.e > b.e)
        return true;
    else
        return false;
                            }
     
    void create_temp_rank(node* , int);
     
     
     
     
     
     
    using namespace std;

    FILE* file=fopen("a.txt","r"); 
     
     
    int main()
    {
         
         
        int a,b;
        int temp;                                 //각노드의 부모 인자 저장 변수
        POINT temp2;                              //실행타입 매개변수 임시저장 변수
    fscanf(file,"%d",&a);
    fscanf(file,"%d",&b);
        //scanf("%d%d",&a,&b);
        list<int> intList;                        //부모인자 저장 링크리스트 생성
        list<POINT> intList2;                     //실행타입 저장 링크리스트 생성
     
        for(int i=0;i<a;i++){                     //부모인자 집어넣기
            fscanf(file,"%d",&temp);
    //scanf("%d",&temp);
        intList.push_back(temp);
        }
         
        for(int i=b;i>0;i--){                      //실행타입 집어넣기
            
    fscanf(file,"%d",&temp2.x);
    fscanf(file,"%d",&temp2.y);
    //scanf("%d%d",&temp2.x,&temp2.y);
            intList2.push_back(temp2);
             
        }
     
           list<node> nodeList;              //노드 링크리스트 생성
     
        node c;                                 //노드의 val값 초기화를위한 변수선언
        list<int>::iterator it=intList.begin();
     
         
            for(int j=1;j<=a;j++){
                if((*it)==0){
                    c.root=1;
                c.val=j;
                c.e=0;
                c.child1=NULL;
                c.child2=NULL;
                c.Pint=(*it);
     
                nodeList.push_back(c);              //노드리스트의 val값 초기화
                }
                else{
                    c.root=0;
     
     
                c.val=j;
                c.e=0;
                c.child1=NULL;
                c.child2=NULL;
                c.Pint=(*it);
     
                    nodeList.push_back(c);}              //노드리스트의 val값 초기화
                it++;
                 
            }
     
             
            list<node>::iterator it2=nodeList.begin();
            list<node>::iterator _it2=nodeList.begin();
     
            for(it2;it2!=nodeList.end();it2++){
     
                for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){
                    if((*it2).Pint==(*_it2).val){
                        if((*_it2).child1!=NULL){
                            if((*_it2).child1->val < (*it2).val){
                                (*_it2).child2 = (*_it2).child1;
                                (*_it2).child1=&(*it2);}
                            else
                                (*_it2).child1=&(*it2);
                        }
                        else
                            (*_it2).child1=&(*it2);
                    }
                }
            }
        list<POINT>::iterator it3;
            it3=intList2.begin();
            it2=nodeList.begin();
            list<node> temp_nodeList;
     
             
            int last_rank;
             
             
            for(it2=nodeList.begin();it2!=nodeList.end();it2++){                          //라스트 랭크값 최기화;
                        if(  (*it2).root==1){
                            (*it2).rank=0;
                            set_rank(&(*it2));
                            for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){
                                if((*_it2).child1!=NULL){
                                if(   (*_it2).rank<(*_it2).child1->rank   )
                                    last_rank=(*_it2).child1->rank;
                                else
                                    last_rank=(*_it2).rank;
                            }
                            }
                        }
                    }
                  
     
            for(it3;it3!=intList2.end();it3++){
                if((*it3).x==1){                                                       //실행타입 1일경우
     
                    for(it2=nodeList.begin();it2!=nodeList.end();it2++){                          //라스트 랭크값 최기화;
                        if(  (*it2).root==1){
                            (*it2).rank=0;
                            set_rank(&(*it2));
                            for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){
                                if((*_it2).child1!=NULL){
                                if(   (*_it2).rank<(*_it2).child1->rank   )
                                    last_rank=(*_it2).child1->rank;
                                else
                                    last_rank=(*_it2).rank;
                            }
                            }
                        }
                    }
                     
                 
     
                     
     
                     
                         
                    for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){          //마지막랭크 링크리스트 값 집어넣기
                            if(   (*_it2).rank==last_rank ){
                                temp_nodeList.push_back(*_it2);
                                }
                                 
                            }
                            temp_nodeList.sort(cmp);                                   //링크 순위 정렬
     
                            it2=temp_nodeList.begin();
                     
     
     
                     
     
                            int y_value=(*it3).y;
                            while(y_value>0){
     
                            for(;y_value>0;){
                                 
                                for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){
                                    if( it2==temp_nodeList.end() ) {break;}
                                    if((*_it2).val==(*it2).val){
                                 
     
                                (*_it2).e=true;
                                y_value--;
                                 
                                it2++;
                                }
                                }
                             
                            last_rank--;
                            if(y_value==0){
                                (it2)--;
                                printf("%d\n",(*it2).val);}
                            else
                            temp_nodeList.clear();
     
                            for(_it2=nodeList.begin();_it2!=nodeList.end();_it2++){          //마지막랭크 링크리스트 값 집어넣기
                            if(   (*_it2).rank==last_rank ){
                                temp_nodeList.push_back(*_it2);
                                }
                                 
                            }
                            temp_nodeList.sort(cmp);                                   //링크 순위 정렬
                            it2=temp_nodeList.begin();
                            }
                     
                             
                             
                             
                             
                            }
                                     
                                 
     
                             
                                 
                            }
                else{
                    int two_y=(*it3).y;
                    for(it2=nodeList.begin();it2!=nodeList.end();it2++){
                        if(two_y == (*it2).val){
                            (*it2).e=false;
                        }
                         
                    }
                    int temp_nub=0;
                    int _temp_nub=99;
     
     
     
                    for(int z=0;z<999;z++){
                        for(it2=nodeList.begin();it2!=nodeList.end();it2++){
                            if((*it2).child1!=NULL){
                            if((*it2).child1->e==false){
                                if( (*it2).e!=false){
                                (*it2).child1->e=true;
                                (*it2).e=false;
                                temp_nub++;
                                }
                                else
                                    ;
                                }
                            }
                            if( (*it2).child2!=NULL){
                            if( (*it2).child2->e==false){
                                if( (*it2).e!=false){
                                (*it2).child2->e=true;
                                (*it2).e=false;
                                temp_nub++;
                                }
                                 
                                else
                                    ;
                                }
                            }
     
                            }
                        if(temp_nub==_temp_nub)
                            break;
                        else
                            _temp_nub=temp_nub;
                         
     
                 
                         
                         
                    }
                    printf("%d\n",temp_nub);
                    temp_nub=0;
                     
                        }
                }
                }
         
             
                                 
                                 
     
     
         
     
                             
     
     
     
         
             
     
                                 
                             
                                 
     
     
             
     
     
                 
             
             
             
     
     
     
    void set_rank(node* adr)
    {
         
        if((*adr).child1!=NULL)
        (*adr).child1->rank=((*adr).rank)+1;
        if((*adr).child2!=NULL)
        (*adr).child2->rank=((*adr).rank)+1;
         
            if((*adr).child1!=NULL)
            set_rank((*adr).child1);
            if((*adr).child2!=NULL)
                set_rank((*adr).child2);
     
             
         
    }
     
     
     
                     
         
             
         
     
     
     
     
     
         
     
     
     
     
     
     
     
     
     
                 
                             
                         
                         
     
     
     
     
     
                 
     
                         
                     
                     
         
         
             
         
             
             
         
             
             
     
     
         
     
         
     
     
             
             
         
             
        


    이 게시물을 추천한 분들의 목록입니다.
    [1] 2013/07/03 15:43:42  110.13.***.18  유유미  378987
    [2] 2013/07/03 15:45:53  119.198.***.8  인민에어  346503
    [3] 2013/07/03 15:46:37  1.251.***.247  Mohandar  203365
    [4] 2013/07/03 15:48:48  175.205.***.7  은월운무  378700
    [5] 2013/07/03 15:56:22  1.254.***.240  돼지주물luck  224387
    [6] 2013/07/03 15:56:58  211.220.***.38  아키호시노  122613
    [7] 2013/07/03 16:02:54  175.119.***.252  그댄내달빛  173490
    [8] 2013/07/03 16:20:57  121.132.***.135  작은돼지  140557
    [9] 2013/07/04 13:17:08  125.130.***.196  티틱틱디딕  443852
    [10] 2013/07/07 10:46:41  124.254.***.100  외솔  68095
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    1779247
    직장생활하다가 자영업자 되면 체감 되는 것.jpg [1] 펌글 우가가 25/02/17 03:51 1064 13
    1779246
    결혼 장려 밥상 [3] 변비엔당근 25/02/17 03:36 1657 13
    1779245
    엄청난 대지아트 [1] 피카소여물 25/02/17 02:48 1662 12
    1779244
    홍범도 장군이 공산당?? [11] 근드운 25/02/17 00:28 498 24
    1779243
    체했어요:OOOOOOO [24] off스위치on 25/02/17 00:24 794 11
    1779242
    오유가 살아 나면 좋겠다 [13] 외부펌금지 돌아온냥냥이 25/02/16 23:36 1473 23
    1779241
    이재명 "계엄 시행됐다면 코리안 킬링필드 열렸다" [3] 라이온맨킹 25/02/16 23:34 1004 21
    1779240
    2시간짜리 내란도 있습니다. [2] TRUTHMZ 25/02/16 23:29 1186 22
    1779239
    귀염 뽀작 아기여우 사진 보고 가세요 [3] 변비엔당근 25/02/16 23:20 1211 22
    1779238
    충청도 형님덜 통역사 [9] 변비엔당근 25/02/16 22:53 1306 29
    1779237
    안친한 사촌오빠네 놀로 왔는데 조카가 너무 서윗함 [6] 변비엔당근 25/02/16 22:45 1245 34
    1779236
    [2보] 배우 김새론 숨진 채 발견…경찰 "범죄 혐의점 확인 안돼" [10] 라이온맨킹 25/02/16 22:44 2187 21
    1779235
    이재명 도지사 시절 사진 [10] 변비엔당근 25/02/16 22:29 822 31
    1779234
    전한길이 ㅁㅊ버린 이유가 있었네.. [4] 근드운 25/02/16 22:20 1695 20
    1779233
    버스에서 엉덩이 만지는 아저씨 실제로 봄 [8] 변비엔당근 25/02/16 22:17 1773 35
    1779232
    연대를 하더라도 이낙연은 절대 안됩니다. [8] iamtalker 25/02/16 21:31 1212 29
    1779231
    ㅇㅅㅎㅇ: 나 미국 왔지렁~ [21] 등대지기™ 25/02/16 20:47 2708 35
    1779230
    일본 철덕 근황 [7] 펌글 우가가 25/02/16 17:50 4340 30
    1779229
    ㅇㅎ)고양이가 자꾸 제 고추를 물어요 [5] 펌글 우가가 25/02/16 16:31 5106 21
    1779228
    현재 일본에서 2000만뷰 찍은 커피 엎지른 한국인썰.jpg [2] 펌글 우가가 25/02/16 16:12 4900 33
    1779227
    정신질환 대응이 어려운 이유 [12] 펌글 우가가 25/02/16 16:11 4134 32
    1779226
    남편과 토끼 [9] 펌글 감동브레이커 25/02/16 16:09 3474 27
    1779225
    MBC 뉴스 댓글 장원 [6] 등대지기™ 25/02/16 16:05 2816 64
    1779224
    후방주의) 치킨 한 조각 [8] 백색마법사 25/02/16 15:47 4789 20
    1779223
    [으악! 경악!]CCTV에 포착된 12.3 계엄군의 국회 단전 시도! [4] cwcs25 25/02/16 15:30 1615 45
    1779222
    저 주둥이 좀 어떻게 해 봤으면요. [2] e-one 25/02/16 15:25 2417 29
    1779221
    윤석열을 옹호하는 정치인과 유명인 중에 진심인 사람은 아무도 없다 [2] 탁스패밀리 25/02/16 15:25 1369 32
    1779220
    썰매 같이 탄 남자들 최후까지 완벽 [5] 펌글 우가가 25/02/16 15:06 4268 24
    1779219
    파란약과 빨간약, 당신의 선택은? [18] 댓글러버 25/02/16 15:06 2574 24
    1779218
    맛있는 냄새 [12] off스위치on 25/02/16 15:05 1571 18
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈