usingnamespacestd;#include#include

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

36th成都區(qū)域賽網(wǎng)絡(luò)賽 hdoj4039 The Social Net

系統(tǒng) 1776 0


這題是某年成都區(qū)域賽網(wǎng)絡(luò)賽的一題。

? ? ? ? 這題思路非常easy,可是從時(shí)間上考慮,不妨不要用矩陣存儲(chǔ),我用的鏈?zhǔn)角跋蛐恰?

? ? ? ? 採(cǎi)用線上查詢。利用map對(duì)字符串編號(hào),由于非常方便。要推薦的朋友,事實(shí)上就是朋友的朋友(這里指的是直接朋友,圖中即指有直接邊相連的)。

? ? ? ? 所以在尋找時(shí),僅僅須要查找朋友的朋友,并計(jì)數(shù)。

? ? ? ? 注意:在輸出時(shí)不能有對(duì)于的空格。 ? ? ? ??

? ? ??

?附代碼:

? ?

      #include<iostream>
using namespace std;
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<map>
#include<algorithm>

int n,m;
char s11[20],s22[20];
string g[20100],l[20100];
int next[201000],head[2010],key[201000];
int num;

void add(int u,int v)
{
     key[num]=v;
     next[num]=head[u];
     head[u]=num++;
}


int main()
{
    int T,pp=0;
    scanf("%d",&T);
    while (T--)
    {
    map<string,int> hash;
    int n,m,i,j,k;      
    string s1,s2;
    int cnt=0;
    
    num=0;

    scanf("%d%d",&n,&m);
    memset(head,-1,sizeof(head));
    
    for (i=0;i<n;++i)
        {
        scanf("%s%s",s11,s22);
        s1=string(s11);
        s2=string(s22);
        if (hash[s1]==0)
           hash[s1]=++cnt,l[cnt]=s1;
        if (hash[s2]==0)
           hash[s2]=++cnt,l[cnt]=s2;
        
        add(hash[s1],hash[s2]);
        add(hash[s2],hash[s1]);
        }
    printf("Case %d:\n",++pp);    
        
    for (i=0;i<m;++i)
        {
        scanf("%s",s11);
        s1=string(s11);
        int p=hash[s1];
        int f[20100],flag[20010];
        memset(f,0,sizeof(f));
        memset(flag,0,sizeof(flag));
        
        for (k=head[p];k!=-1;k=next[k]) flag[key[k]]=-1;
        
        for (k=head[p];k!=-1;k=next[k])  
            if (key[k]!=p)
            {
               for (j=head[key[k]];j!=-1;j=next[j])
                   if (key[j]!=key[k] && key[j]!=p && flag[key[j]]==0)
                   {
                      f[key[j]]++;
                   }
            }
        int Max=-1;
        for (k=1;k<=cnt;++k) 
            {
            Max=max(Max,f[k]);
          //  printf("%d\n",f[k]);
            }
        if (Max==0)
           {
           printf("-\n");
           continue;
           }
        int q=0;
        for (k=1;k<=cnt;++k)
            if (Max==f[k])
               {
               g[q++]=l[k];
               }
        sort(g,g+q);       
        for (k=0;k<q-1;++k)  cout << g[k] << " ";
        cout << g[q-1];
        cout << endl;
        }    
    
    }

    return 0;
}

    

36th成都區(qū)域賽網(wǎng)絡(luò)賽 hdoj4039 The Social Network(建圖+字符串處理)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲第一se情网站 | 国产一区二区精品久久 | 性生活一级毛片 | 国产日韩久久久精品影院首页 | 91丨九色丨蝌蚪 | 天天襙| 成年人黄色在线观看 | 久久cao| 爽爽影院在线免费观看 | 久久久久久网址 | 成人午夜精品久久久久久久小说 | 亚洲国产一区二区三区最新 | 国产福利不卡视频在免费播放 | 天天干夜夜爽天天操夜夜爽视频 | 欧美最大成人毛片视频网站 | 国产伊人精品 | 成人免费黄色片 | 久久免费观看国产99精品 | 又粗又大的机巴好爽视频视频 | 久久精品国内偷自一区 | 久久精品视频免费看 | 天天狠操 | 国产视频精品视频 | 欧美伦乱 | 欧美亚洲国产精品久久高清 | 国产久7精品视频 | 国产免费不卡 | 免费日韩在线视频 | 青草免费免费观看视频在线 | 欧美成人午夜视频免看 | 亚洲一区 欧美 | 欧美日韩中文一区 | youjizz中国 | 49xxx中国妇女内谢视频 | 国产精自产拍久久久久久蜜 | 狠狠色狠狠色综合婷婷tag | 天天操大逼 | 亚洲一区欧洲一区 | 久久精品资源站 | 综合 欧美 国产 视频二区 | 国产一级特黄老妇女大片免费 |