ÇÁ·Î±×·¡¹Ö

 3204, 150/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   csh30096
   C++Àε¥ C¾ð¾î·ÎÁ» ¹Ù²ãÁֽǺРÀÖÀ¸½Å°¡¿ä,,, ¤Ð¤Ð

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6366 [º¹»ç]


#include<stdio.h>
#include<vector>
using namespace std;

const int N = 10100;
int tc, n, m;
int c, x, y;
vector<int> e[N+1][2];
int gr[N+1];
int fr, re, q[N+1];
int t, g[N+1], s, d;
bool dp[N+1];

int bfs(int s)
{
        int i, j, k, K, p[2] = {0, 0};
        fr = re = 0;
        q[++re] = s, gr[s] = 0, ++p[0];
        for(;fr<re;)
        {
                s = q[++fr];
                for(k = 0; k<=1; ++k)
                        for(K = gr[s]^k,i = e[s][k].size()-1;i>=0;--i)
                        {
                                j = e[s][k][i];
                                if(gr[j] == -1)
                                        q[++re] = j, gr[j] = k, ++p[K];
                                else if(gr[j] != K)
                                        return -1;
                        }
        }
        return p[0]>p[1]?p[0]-p[1]:p[1]-p[0];
}

int main()
{
        int i, j;
        freopen("input.txt","r", stdin);
        freopen("output.txt", "w", stdout);
        for(tc = 1; tc <=5; tc++)
        {
                scanf("%d%d", &n, &m);
                for(i = 1; i<=n;++i)
                {
                        e[i][0].clear(),e[i][1].clear(),gr[i] = -1;
                }
                for(i = 0; i<m;++i)
                {
                        scanf("%d%d%d", &c, &x, &y);
                        e[x][c==1].push_back(y),e[y][c==-1].push_back(x);
                }
                t = d = 0;
                for(i = 1;i<=n;++i)
                {
                        if(gr[i]==-1)
                        {
                                d+=g[++t]=bfs(i);
                                if(g[t]==-1) break;
                        }
                }
                if(i<=n) printf("-1\n");
                else
                {
                        for(i = 0; i<=n;++i) dp[i] = 0;
                        dp[0] = 1;
                        for(s = 0, i = 1; i<=t;s+=g[i++])
                                for(j=s;j>=0;--j)
                                        if(dp[j]) dp[j+g[i]]=1;
                        for(i = d/2;!dp[i];--i);
                        printf("%d\n", d-2*i);
                }
        }
        return 0;
}

ÀÌ°Ô c++Àε¥ c¾ð¾î·ÎÁ» ¹Ù²ãÁֽǺРÀÖ³ª¿ä,,, ¤Ð¤Ð
Á¦°¡ c¾ð¾î¹Û¿¡¸ð¸£´Âµ¥ c++´ä¹Û¿¡ ¾ø¾î¼­..¤§¤§

  Hit : 2989     Date : 2013/07/14 10:52



    
rainroad87 C¾ð¾î ÀÇ ¹®¹ýÀ¸·Î ÀÛ¼ºµÈ ¼Ò½ºÄÚµåÀ̳׿ä

stdÀÇ vector¸»°í´Â C++À» »ç¿ëÇÏÁö ¾Ê¾Ò½À´Ï´Ù.

vector ºÎºÐ¸¸ º¯°æÇØÁÖ¸é °£´ÜÇÒµí ½Í³×¿ä.

½º½º·Î Çغ¸¼¼¿ä ¸¹Àº µµ¿òÀÌ µÉ²¨¶ó´Â ¸»Àº µå¸±¼ö ¾øÁö¸¸ ºÐ¸íÈ÷ ÀÛ°Ô³ª¸¶ µµ¿òÀÌ µÉ°Ì´Ï´Ù.
2013/07/15  
224   cÄÄÆÄÀÏ·¯ Áú¹®ÀÌ¿ä     dbxosus1
05/23 2934
223   ¹®Á¦ °Ë»ç ÇØÁÖ¼¼¿ä ¤Ð[5]     benkim
06/09 5090
222   c¾ð¾î Áú¹®[4]     benkim
06/09 4626
221   C¾ð¾î º¸¼ö [3]     benkim
06/10 4798
220   ºñÁÖ¾ó c++ Á¦Ç°Å°[1]     nuri774
06/16 3879
219   ºñÁÖ¾óc++[1]     nuri774
06/16 3299
218   [¾Èµå·ÎÀ̵å] ¹ßÀüÇÏ°í ÀÖ´Â °³¹ßÀÚÀä[1]     youngim0405
06/18 2804
217   c¾ð¾î¾î Áú¹®[2]     benkim
06/23 4203
216   ¹¹°¡ ¿¡·¯ÀΰÇÁö[2]     goeun30
06/26 3251
215   ¸µÅ©¿¡·¯;;[5]     goeun30
06/27 3121
214   ¾È³çÇϼ¼¿ä! Ãʺ¸ÀÔ´Ï´Ù... Çѹø ºÁÁÖ¼Å¿ä ¤Ð[5]     tmdrn9212
06/28 2968
213   º¸¾ÈÀü¹®°¡ ÂÊ ¾ð¾î ¼ø¼­Á» Àâ¾ÆÁÖ¼¼¿ä.[4]     hjt7942
07/10 4622
212   TCP/IP ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö ¿À·ù[3]     whtjdwls151
07/13 7225
  C++Àε¥ C¾ð¾î·ÎÁ» ¹Ù²ãÁֽǺРÀÖÀ¸½Å°¡¿ä,,, ¤Ð¤Ð[1]     csh30096
07/14 2988
210   c¾ð¾î NOT ºñÆ® ¿¬»êÀÚ Áú¹®[5]     benkim
07/19 7774
209   C, C++, tcp/ip ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö ´É¼÷ÇϽŠºÐµé, ¾î¶»°Ô °øºÎÇϽóª¿ä?[4]     phj0860
07/27 4702
208   [C¾ð¾î] ÆÄÀÏ ÀÔÃâ·Â Áú¹®[1]     avtree
07/28 4103
207   c¾ð¾î ÁÖ¼Ò Áú¹®[1]     gozjtmznf1234
07/30 3044
206   C++ °ü·ÃÇؼ­ °£´ÜÇÑ Áú¹®ÀÔ´Ï´Ù.[2]     6¿ù
08/11 3681
205     [re] C++ °ü·ÃÇؼ­ °£´ÜÇÑ Áú¹®ÀÔ´Ï´Ù.     hch19860906
11/17 2480
[1]..[141][142][143][144][145][146][147][148][149] 150 ..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org