ÀÛ¼ºÀÏ : 18-05-06 23:37
ÁßµîºÎ Æ®¸®
 ±Û¾´ÀÌ : ¾çÁøÇõ(yangjh05)
Á¶È¸ : 2,565  
#include <stdio.h>

int N, Q;
int x[400001][3];
int pa[200001], gr[200001], ans[200001];

int dfs(int n){
    if(n != gr[n]) gr[n] = dfs(gr[n]);
    return gr[n];
}

int main()
{
    scanf("%d %d", &N, &Q);
    for(int i = 2; i <= N; i++){
        scanf("%d", &pa[i]);
    }
    gr[1] = 1;
    for(int i = 0; i < N + Q - 1; i++){
        scanf("%d", &x[i][0]);
        if(x[i][0] == 1)
            scanf("%d %d", &x[i][1], &x[i][2]);
        else
            scanf("%d", &x[i][1]);
    }
    for(int i = 1; i < N; i++){
        gr[i] = i;
    }
    int tmp = Q;
    for(int i = N + Q - 2; i >= 0; i--){
        if(x[i][0] == 0){
            gr[x[i][1]] = pa[x[i][1]];
        }
        else if(x[i][0] == 1){
            if(dfs(gr[x[i][1]]) == dfs(gr[x[i][2]])) ans[tmp] = 1;
            else ans[tmp] = 0;
            tmp--;
        }
    }
    for(tmp = 1; tmp <= Q; tmp++){
        if(ans[tmp]) printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}
ÀÌ Äڵ尡 ¼±»ý´ÔÀÌ Ç®ÀÌÇÑ ÄÚµå¿Í À̸§¸¸ ¹Ù²ï ÄÚµåÀÔ´Ï´Ù.
¿Ö ÀÌ Äڵ尡 98Á¡¹Û¿¡ ¾È ³ª¿Ã±î¿ä?

ÄĽºÄð 18-05-07 10:32
 
for(int i = 1; i < N; i++){
        gr[i] = i;
    }

À§ ºÎºÐ¿¡¼­ NÀÌ ÃʱâÈ­°¡ µÇÁö ¾Ê¾Ò½À´Ï´Ù.
 
 

Total 662
¹øÈ£ Á¦   ¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
102 ÀÔ±Ý È®ÀÎ ºÎŹµå¸³´Ï´Ù. (1) ±èµ¿ÈÖ 03-26 2615
101 2012 Áß2 Àü½ÃÀå (1) ¾çÁøÇõ 05-21 2610
100 Ã¥À» ¾îµð¼­ »ç³ö¿ä? ³²ÁöÀ± 09-01 2608
99 ÀÚ±âÁÖµµc¾ð¾î/ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö ±³»ç¿ë ´ä¾ÈÁö ±è´ëÀÍ 07-15 2595
98 ÀÔ±ÝÈ®ÀÎ ºÎŹµå¸³´Ï´Ù. (1) ±è¼º±Ô 04-07 2582
97 ±Ã±ÝÇÕ´Ï´Ù. (1) ÀÓÁØ¿µ 03-11 2579
96 ÁßµîºÎ Æ®¸® (1) ¾çÁøÇõ 05-06 2566
95 °áÁ¦ ¿Ï·á ÇÏ¿´½À´Ï´Ù. È®ÀκÎŹµå¸³´Ï´Ù. (1) ¾ÈÁ¤Àº 05-24 2560
94 °­ÀÇ Àç»ýÀÌ ÀÌÀü¿¡´Â Àß µÇ¾ú´Âµ¥ 'ºê¶ó¿ìÀú°¡ ºñµð¿À¸¦ ¡¦ (1) ±èÁØÇõ 03-19 2558
93 °­ÀÇ ¿À·ù (1) ¾çÁøÇõ 05-27 2555
92 ÀԱݿϷáÇß½À´Ï´Ù. (1) ÀÓÁØ¿µ 03-16 2552
91 ÀÔ±ÝÇß½À´Ï´Ù. È®ÀκÎŹµå¸³´Ï´Ù. (1) Á¶¶ôÈñ 03-13 2547
90 2012³â Áß°íµîºÎ 30¹ø Áú¹® (1) ¾çÁøÇõ 02-10 2547
89 ÀÔ±ÝÇß½À´Ï´Ù. ¼ö°­Ã³¸® ºÎŹµå¸³´Ï´Ù. (1) ±è¹®¼ö 04-09 2546
88 ÁßµîºÎ Æ®¸® 2 (2) ¾çÁøÇõ 05-06 2546
87 ÀÔ±ÝÈ®ÀκÎŹµå¸³´Ï´Ù. (1) ¹Ú¼±ÇÏ 03-26 2538
86 ÀÚ±âÁÖµµ C¾ð¾î ÇÁ·Î±×·¡¹Ö 6´Ü¿ø 118p ÀÚ°¡Áø´Ü4 (1) ±è¿¬¿õ 06-19 2531
85 2017³â ÁßµîºÎ 2¹ø (1) ¾çÁøÇõ 05-17 2530
84 ÀԱݿϷáÇß¾î¿ä (1) ¿Â°ÇÈ£ 03-15 2527
83 ÀÔ±ÞÈ®ÀÎ ºÎŹµå¸³´Ï´Ù. (1) ±èÇÊ¾Ö 04-06 2526
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    

ȸ»ç¼Ò°³ | °³ÀÎÁ¤º¸Ã³¸®¹æħ | ÀÌ¿ë¾à°ü | ã¾Æ¿À½Ã´Â ±æ | À̸ÞÀÏÁÖ¼Ò ¹«´Ü¼öÁý°ÅºÎ | »ç¾÷ÀÚÁ¤º¸È®ÀÎ
°æ±âµµ ¾È¾ç½Ã µ¿¾È±¸ È£°èµ¿ 1065-10 Çù¼º°ñµåÇÁ¶óÀÚ 601È£ ÇÑÄÄ¿¡µàÄÉÀ̼Ç(ÁÖ) TEL : 031-388-8840 FAX : 031-388-0996
´ëÇ¥ÀÚ : ±èµ¿±Ô »ç¾÷ÀÚ¹øÈ£ : 130-86-02870 Åë½ÅÆǸž÷½Å°í¹øÈ£ : Á¦ 2010-°æ±â¾È¾ç-888È£
COPYTIGHT(C) ÇÑÄÄ¿¡µàÄÉÀ̼Ç(ÁÖ), ALL RIGHT RESERVED.
´ãÀº°­Á : 0