青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

pku 1419

2009年8月9日

題目鏈接:PKU 1419 Graph Coloring

分類:DFS

題目分析與算法原型
         算法1:直接暴力搜索即可過,數據不強,實現默認每個點為白色,然后從第一個點開始搜索,對于當前的頂點,枚舉與他相鄰的點中是否有黑色,若沒有則將他染黑色,然后頂點編號加一,繼續搜索下一個,若與他相鄰的點中有已經染黑的點,那么只能將當前的點染成白色,然后繼續搜索,注意無論有沒有黑色的鄰點,對于當前的點都要染白一次,搜索,因為對于白色是沒有限制的....
        算法2:其實這是一道最大獨立集問題,對于該種問題可以通過將原圖求補,就可以變成求其補圖的最大團問題,通過最大團來求解
       (PS:算法1->47ms,算法2->0ms)

Code1: 

 1
#include<stdio.h>
 2#include<string.h>
 3#define max 105
 4bool flag[max];
 5int map[max][max],t,n,k,color[max],count,pos[max],fp,black,cnt;//color數組:0表示白,1表示黑
 6void dfs(int num)
 7{
 8    int i;
 9    if(num==n)
10    {
11        int j;
12        if(black>count)
13        {   
14            fp=0;
15            count=black;
16            for(j=1;j<=n;j++)if(color[j]==1)pos[fp++]=j;
17        }

18        return ;
19    }

20    for(i=1;i<=n;i++)
21        if(i!=num&&map[num][i]==1&&color[i]==1)break;
22    if(i>n)
23    {
24        color[num]=1;
25        black++;
26        dfs(num+1);
27        color[num]=0;
28        black--;
29    }

30    dfs(num+1);
31}

32int main()
33{
34    int i;
35    scanf("%d",&t);
36    while(t--)
37    {
38        memset(flag,false,sizeof(flag));
39        memset(map,0,sizeof(map));
40        memset(color,0,sizeof(color));
41        scanf("%d%d",&n,&k);
42        for(i=1;i<=k;i++)
43        {
44            int a,b;
45            scanf("%d%d",&a,&b);
46            map[a][b]=1;
47            map[b][a]=1;
48        }

49        count=0;
50        black=0;
51        dfs(1);
52        printf("%d\n",count);
53        for(i=0;i<fp;i++)
54        {
55            printf("%d",pos[i]);
56            if(i<fp-1)printf(" ");
57            else printf("\n");
58        }

59    }

60    return 1;
61}

62
63
Code2: 

 1
#include<stdio.h>
 2#define len 105
 3int map[len][len],max,cnt[len],group[len],m,n,k;
 4bool dfs(int num,int visit[len],int pos)
 5{
 6    int i,j;
 7    for(i=num+1;i<=n;i++)
 8    {
 9        if(cnt[i]+pos<=max) return false;//根據cnt[]數組的非遞增性可以直接返回false
10        if(map[num][i])
11        {
12            for(j=0;j<pos;j++)if(map[i][visit[j]]==0)break ;
13            if(j==pos)  //與當前完全圖的所有點都有邊,可以加進來
14            {
15               visit[pos]=i;
16               if(dfs(i,visit,pos+1))return true;
17            }

18        }

19    }

20    if(pos>max)
21    {
22        int kk;
23        for(kk=0;kk<pos;kk++)group[kk]=visit[kk];//更新最大完全圖的頂點集合
24        max=pos;
25        return true;//根據cnt[]數組的非遞增性可以直接返回true
26    }

27    return false;
28}

29void init()
30{
31    int i,j;
32    for(i=1;i<=n;i++)
33        for(j=1;j<=n;j++)
34        {
35            if(i!=j)map[i][j]=1;
36            else map[i][j]=0;
37        }

38}

39int main()
40{
41    int i,a,b,path[len];
42    scanf("%d",&m);
43    while(m--)
44    {
45        scanf("%d%d",&n,&k);
46        init();
47        for(i=1;i<=k;i++)
48        {
49            scanf("%d%d",&a,&b);
50            map[a][b]=0;
51            map[b][a]=0;
52        }

53
54        max=-1;
55        for(i=n;i>=1;i--)
56        {
57            path[0]=i;
58            dfs(i,path,1);
59            cnt[i]=max; 
60        }

61        printf("%d\n",cnt[1]);//打印出最大完全圖的頂點數
62        for(i=0;i<cnt[1];i++)printf("%d ",group[i]);//打印出最大完全圖的頂點集合
63        printf("\n");
64    }

65    return 1;
66}

posted on 2009-08-09 10:00 蝸牛也Coding 閱讀(334) 評論(0)  編輯 收藏 引用

<2009年8月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

導航

統計

常用鏈接

留言簿(8)

隨筆檔案(78)

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区三区精品动漫| 欧美激情第五页| 欧美电影免费观看| 免费在线观看一区二区| 久久午夜国产精品| 欧美+亚洲+精品+三区| 亚洲欧美日韩精品| 免费日韩精品中文字幕视频在线| 欧美在线一级va免费观看| 亚洲在线网站| 性感少妇一区| 久久精品国产2020观看福利| 久久综合网hezyo| 欧美精品一区二区三区蜜桃 | 亚洲欧美日韩一区二区三区在线| 午夜精品一区二区三区在线| 久久噜噜亚洲综合| 亚洲精品日韩一| 久久在线免费观看| 欧美电影在线观看完整版| 欧美激情aaaa| 亚洲一区二区三区高清 | 久久精品国产亚洲精品| 另类av导航| 欧美午夜不卡| 精品动漫3d一区二区三区| 亚洲三级免费电影| 久久aⅴ乱码一区二区三区| 另类尿喷潮videofree| 亚洲精品综合精品自拍| 欧美一区二区三区免费视| 欧美好吊妞视频| 国产精品蜜臀在线观看| 亚洲国产欧美一区| 久久动漫亚洲| 亚洲午夜羞羞片| 你懂的国产精品| 国产亚洲一区二区在线观看| 久久久久一区二区三区四区| 欧美一激情一区二区三区| 久久综合一区| 国产精品性做久久久久久| 激情视频一区二区| 亚洲性图久久| 91久久夜色精品国产网站| 香蕉av福利精品导航| 欧美日韩亚洲在线| 亚洲精品看片| 欧美电影在线免费观看网站| 亚洲综合社区| 国产精品毛片a∨一区二区三区|国 | 老司机成人在线视频| 亚洲视频精品| 国产精品h在线观看| 亚洲精品日产精品乱码不卡| 美国十次了思思久久精品导航| 亚洲伊人久久综合| 国产精品私房写真福利视频| 9久re热视频在线精品| 欧美黄色aa电影| 美女主播一区| 亚洲国产精品一区二区www| 久久夜精品va视频免费观看| 午夜精品视频在线观看| 国产乱码精品1区2区3区| 亚洲欧美在线网| 亚洲无吗在线| 国产精品视频一二| 欧美在线综合视频| 午夜久久影院| 韩国自拍一区| 欧美福利电影在线观看| 久久资源在线| 日韩视频在线一区二区| 亚洲精品在线观看免费| 欧美三级日本三级少妇99| 午夜国产欧美理论在线播放| 亚洲欧美电影院| 国产一区二区三区在线观看免费视频 | 久久视频一区| 免费中文字幕日韩欧美| 日韩视频在线观看国产| 一区二区不卡在线视频 午夜欧美不卡在 | 国产一区二区三区高清在线观看| 久久精品论坛| 久久午夜影视| 日韩亚洲成人av在线| 日韩一级在线观看| 麻豆免费精品视频| 黑人巨大精品欧美一区二区小视频| 午夜视频精品| 久久精品视频在线免费观看| 亚洲第一黄色网| 亚洲激情国产精品| 欧美性猛交xxxx免费看久久久| 亚洲欧美一区二区原创| 久久精品一级爱片| 亚洲视屏在线播放| 欧美亚洲一区三区| 亚洲精品一级| 亚洲欧美成人综合| 91久久久久久久久久久久久| 一区二区三区国产精华| 激情一区二区| 一片黄亚洲嫩模| 在线观看日韩国产| 亚洲婷婷综合久久一本伊一区| 黄色精品一区二区| 亚洲视频中文| 亚洲麻豆av| 欧美在线观看网站| 亚洲性图久久| 欧美xx视频| 久久黄金**| 国产精品国产三级国产| 欧美成人精精品一区二区频| 国产精品一区二区三区免费观看| 牛人盗摄一区二区三区视频| 国产毛片精品视频| 99香蕉国产精品偷在线观看| 亚洲国产精品123| 久久国产精品一区二区三区四区| 亚洲网在线观看| 欧美激情亚洲综合一区| 欧美顶级大胆免费视频| 精品av久久707| 久久国产综合精品| 久久国产精品一区二区三区四区| 欧美午夜精品理论片a级按摩 | 欧美视频第二页| 亚洲福利免费| 亚洲国产一区二区视频| 久久精品亚洲| 久久久久久久一区| 国产亚洲欧美一区二区三区| 亚洲砖区区免费| 欧美一级视频免费在线观看| 欧美日韩在线直播| 亚洲麻豆av| 亚洲一区在线免费| 欧美性猛交xxxx乱大交蜜桃 | 制服丝袜激情欧洲亚洲| 亚洲视频综合| 国产精品女人久久久久久| 亚洲图片你懂的| 欧美亚洲一级| 国产视频一区二区在线观看| 性色av一区二区三区在线观看| 亚洲欧美日韩网| 午夜一区二区三区在线观看| 中文在线一区| 亚洲欧美日韩国产中文 | 欧美一二区视频| 久久综合久久88| 亚洲精品护士| 欧美视频三区在线播放| 亚洲视频免费在线| 欧美一区二区视频观看视频| 国产一二精品视频| 免费在线成人| 99国产欧美久久久精品| 午夜在线视频观看日韩17c| 国产综合婷婷| 欧美激情中文字幕乱码免费| 一本久道综合久久精品| 久久狠狠久久综合桃花| 亚洲国产导航| 国产精品高潮在线| 久久精品亚洲精品| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲精品视频在线播放| 欧美三级黄美女| 久久超碰97人人做人人爱| 亚洲成在人线av| 性欧美xxxx视频在线观看| 影院欧美亚洲| 国产精品久久久久9999吃药| 久久久欧美精品sm网站| 亚洲精品日韩精品| 久久久午夜视频| 亚洲天堂视频在线观看| 激情综合自拍| 国产精品毛片在线看| 美女黄毛**国产精品啪啪| 亚洲图色在线| 日韩视频―中文字幕| 农村妇女精品| 欧美在线网址| 亚洲男人第一av网站| 亚洲精一区二区三区| 国内精品伊人久久久久av一坑| 欧美日韩国产精品| 免费看亚洲片| 久久久久久综合网天天| 亚洲免费小视频| 一本一本a久久| 亚洲人成网站在线播| 欧美大片一区二区| 久久久久综合网| 欧美福利视频在线观看|