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

posts - 20,  comments - 13,  trackbacks - 0

解決問題:
N個男的和M個女的,已知道每個男的只能接受哪些女的,求最多能夠匹配多少對情侶?

思路:
1.只要求出有多少個男的找到對象即可。
2.遍歷所有男的,對于每個男的做以下處理(3~5),最后進入6
3.隨便找一個他能夠接受的女的,判斷這個女的是否被“挑選”過了,沒挑選過的則設置為挑選并進入4,否則繼續(xù)找下一個女的,找遍所有都是挑選過的則進入5
4.判斷這個女的是否有男朋友了,沒有就直接和上述的男的進行匹配,如果有的話(假設她的男朋友是A),則對A進行3的操作,如果該操作返回的是真,則說明這個女的可以和男的匹配,而A和另外的人匹配。返回真。
5.返回假
6.如果該男的找到女的,則最大匹配數+1.

沒說清楚,配合代碼吧,很簡單的一個模板。

#include <stdio.h>
#include 
<string.h>

int n,m;
int sum;
int p[201];
int b[201];
int map[201][201];

bool path(int cow)
{
    
int i;
    
for(i=1;i<=m;i++)
    
{
        
if(b[i]==0 && map[cow][i] == 1)
        
{
            b[i] 
= 1;
            
if(p[i]==0  || path(p[i]))
            
{
                p[i]
=cow;
                
return true;
            }

        }

    }

    
return false;
}


int main()
{
    
int i,j;
    
while(scanf("%d%d",&n,&m)!=EOF)
    
{
        sum
=0;
        memset(map,
0,sizeof(map));
        memset(p,
0,sizeof(p));
        
for(i=1;i<=n;i++)
        
{
            
int a,b;
            scanf(
"%d",&a);
            
for(j=1;j<=a;j++)
            
{
                scanf(
"%d",&b);
                map[i][b] 
= 1;
            }

        }

        
for(i=1;i<=n;i++)
        
{
            memset(b,
0,sizeof(b));
            
if(path(i))
                sum
++;
        }

        printf(
"%d\n",sum);
    }

    
return 0;
}


下面嘗試用鄰接表來解決類似的題目,但是如果不釋放內存的話,會MLE,而通過free釋放內存又會出現TLE錯誤,太囧了。。。良智說用STL的vector應該可以處理這個問題,回頭再用vector,今天先發(fā)free的做法,雖然過不了~~

 

#include <stdio.h>
#include 
<string.h>
#include 
<stdlib.h>

struct edge{
    
int to;
    edge
* next;
};

edge list[
101];

int p,n;
int par[301];
int b[301];
struct edge* temp;
struct edge* e;

bool path(int person)
{
    
struct edge* e = list[person].next;
    
while(e)
    {
        
if(b[e->to]==0)
        {
            b[e
->to] = 1;
            
if(par[e->to]==0 || path(par[e->to]))
            {
                par[e
->to]=person;
            
//    printf("%d__%d\n",e->to,par[e->to]);
                return true;
            }
        }
        e 
= e->next;
    }
    
return false;
}

int main()
{
    
int i,j;
    
int a,t2;
    
int t;
    
while(scanf("%d",&t)!=EOF)
    {
        
while(t--)
        {
            scanf(
"%d%d",&p,&n);
            {
                
int ans = 0;
                
//memset(map,0,sizeof(map));
                memset(par,0,sizeof(par));
                
for(i=1;i<=p;i++)
                {
                    scanf(
"%d",&a);
                    
//list[i] = (struct edge*)malloc(sizeof(edge));
                    struct edge* head = (&list[i]);
                    e 
= head;
                    
while(a--)
                    {
                        scanf(
"%d",&t2);
                        temp 
= (struct edge*)malloc(sizeof(edge));
                        temp
->to = t2;
                        e
->next = temp;
                        e 
= temp;
                    }
                    e
->next = NULL;
                    e 
= head;
                    
/*
                    while(e)
                    {
                        printf("%d__%d\n",e->from,e->to);
                        e=e->next;
                    }
*/
                }

                
for(i=1;i<=p;i++)
                {
                    memset(b,
0,sizeof(b));
                    
if(path(i))
                    {
                        ans
++;
                    }
                    
else
                    {
                        printf(
"NO\n");
                        
break;
                    }
                }
                
if(ans==p)
                    printf(
"YES\n");
                
for(i=1;i<=p;i++)
                {
                    e 
= list[i].next;
                    
while(e)
                    {
                        temp 
= e;
                        e
=e->next;
                        free(temp);
                    }
                }
            }
        }
    }
    
return 0;
}

posted on 2010-05-16 00:56 ACong 閱讀(199) 評論(0)  編輯 收藏 引用

<2010年5月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用鏈接

留言簿

隨筆檔案

文章檔案

廣商豪杰

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            日韩视频一区二区| 国产日韩精品一区二区三区| 毛片av中文字幕一区二区| 亚洲先锋成人| 妖精成人www高清在线观看| 亚洲国产一区视频| 日韩系列在线| 亚洲淫片在线视频| 欧美一二三视频| 欧美一区二区私人影院日本| 久久精品国产一区二区电影 | 亚洲成人在线网站| 久久亚洲精品一区| 亚洲高清一二三区| 一本色道88久久加勒比精品| 亚洲一区影音先锋| 久久精品二区| 欧美久久久久| 国产精品第一区| 黄色国产精品| 这里只有精品在线播放| 欧美亚洲专区| 亚洲二区视频在线| 亚洲欧美欧美一区二区三区| 久久久青草婷婷精品综合日韩| 欧美国产日韩a欧美在线观看| 国产精品永久免费视频| 亚洲欧洲日本专区| 欧美一区二区在线免费播放| 亚洲国产另类久久久精品极度| 亚洲一区二区三区精品动漫| 欧美激情导航| 国内精品国产成人| 夜夜嗨av色一区二区不卡| 欧美影院在线播放| 亚洲毛片一区| 免费在线成人av| 国产一区二区黄色| 亚洲愉拍自拍另类高清精品| 亚洲二区在线视频| 久久久国产精品亚洲一区| 国产精品久久久久久久电影| 99re6这里只有精品视频在线观看| 欧美专区在线播放| 在线亚洲精品福利网址导航| 久久久97精品| 国产日产精品一区二区三区四区的观看方式| 亚洲黄色免费电影| 久久蜜桃av一区精品变态类天堂| 一区二区三区欧美成人| 女仆av观看一区| 国产日韩欧美综合| 欧美一区二区播放| 亚洲天堂成人| 国产精品国产精品国产专区不蜜| 日韩亚洲欧美成人一区| 欧美成人免费全部观看天天性色| 久久大逼视频| 在线视频欧美日韩精品| 欧美日韩直播| 亚洲一区二区在线观看视频| 亚洲人成人77777线观看| 欧美**字幕| 亚洲激情啪啪| 亚洲精品1区2区| 欧美**字幕| 99视频热这里只有精品免费| 91久久在线观看| 欧美日韩国产丝袜另类| 亚洲性感激情| 亚洲欧美日韩精品久久亚洲区 | 亚洲国产精品999| 免费视频一区| 免费视频一区| 亚洲蜜桃精久久久久久久| 亚洲国产欧美在线| 欧美日韩亚洲综合| 欧美一级黄色录像| 久久精品国产999大香线蕉| 在线日本高清免费不卡| 亚洲欧洲精品一区| 国产精品成人观看视频免费 | 国产一区二区三区四区三区四| 久久激五月天综合精品| 久久久久久97三级| 日韩视频精品在线观看| 中日韩视频在线观看| 国产视频不卡| 免费视频一区| 欧美日韩一区二区视频在线观看| 国产欧美在线观看一区| 美日韩免费视频| 亚洲伊人久久综合| 欧美午夜宅男影院在线观看| 国产亚洲欧美激情| 免费日韩av| 蜜桃久久精品乱码一区二区| 夜夜嗨一区二区三区| 一本色道久久综合亚洲精品不 | 在线观看三级视频欧美| 久久午夜精品一区二区| 久久久午夜精品| 亚洲精品中文字| 一区二区高清视频| 国内精品久久久久影院色| 91久久国产综合久久蜜月精品| 欧美视频一区在线| 久久影视精品| 国产精品久久综合| 久久婷婷成人综合色| 欧美人在线观看| 亚洲免费中文| 女人天堂亚洲aⅴ在线观看| 亚洲专区一区| 欧美黑人在线观看| 久久先锋资源| 国产伦精品一区二区三区| 亚洲天堂视频在线观看| 欧美一区亚洲二区| 亚洲永久在线观看| 欧美一激情一区二区三区| 久久久之久亚州精品露出| 久久精品中文| 一区二区日韩| 国内成人精品2018免费看| 欧美成人视屏| 亚洲精品欧美日韩专区| 久久午夜色播影院免费高清| 欧美xxx在线观看| 亚洲一区二区精品视频| 欧美激情网站在线观看| 欧美色欧美亚洲另类二区| 午夜一级久久| 欧美巨乳在线观看| 亚洲激情啪啪| 亚洲视频axxx| 夜夜嗨一区二区三区| 欧美亚洲日本一区| 欧美片网站免费| 久久综合九色综合欧美狠狠| 欧美丝袜第一区| 午夜亚洲福利在线老司机| 亚洲第一黄色| 欧美一区二区日韩| 亚洲欧美www| 欧美日韩国产va另类| 亚洲人成7777| 极品尤物av久久免费看| 香蕉国产精品偷在线观看不卡 | 久久这里有精品视频| 国产亚洲欧美一区二区三区| 亚洲精品九九| 亚洲乱码精品一二三四区日韩在线| 欧美成人久久| 免费亚洲视频| 国产精品一区二区a| 91久久夜色精品国产九色| 亚洲黄色在线视频| 亚洲欧美日韩一区| 狠狠色狠狠色综合日日五| 欧美亚洲自偷自偷| 99re热精品| 老巨人导航500精品| 国产日韩欧美二区| 亚洲精品欧美日韩专区| 一区二区在线视频| 久久综合九色| 国产欧美一区二区三区沐欲| 国产精品久久久久一区二区三区| 在线综合亚洲| 狼人社综合社区| 一区二区在线视频播放| 久久综合九色欧美综合狠狠| 欧美成人免费在线观看| 美女免费视频一区| 午夜视频在线观看一区| 你懂的国产精品| 国产主播一区二区| 一区二区三欧美| 亚洲美女毛片| 日韩视频免费观看| 免费一级欧美在线大片| 久久综合久色欧美综合狠狠| 亚洲少妇最新在线视频| 久久久蜜桃一区二区人| 韩国精品主播一区二区在线观看| 欧美一区二区福利在线| 亚洲精品在线观看免费| 免费欧美日韩| 国产精品久久国产精麻豆99网站| 国产精品一二三| 亚洲国产精品久久人人爱蜜臀| 欧美性色综合| 你懂的亚洲视频| 欧美国产视频在线观看| 国产一区二区三区久久久| 欧美视频官网| 亚洲欧洲一级| 一区二区视频欧美| 亚洲精品韩国|