2015年百度之星程式設計大賽,2015年之星程式設計

來源:互聯網
上載者:User

2015年百度之星程式設計大賽,2015年之星程式設計

【題目連結】:cilck here~~

【題目大意】:

當今世界,網路已經無處不在了,小度熊由於犯了錯誤,當上了度度公司的網路系統管理員,他手上有大量的 IP列表,小度熊想知道在某個固定的子網路遮罩下,有多少個網路地址。網路地址等於子網路遮罩與 IP 位址按位進行與運算後的結果,例如:

子網路遮罩:A.B.C.D

IP 位址:a.b.c.d

網路地址:(A&a).(B&b).(C&c).(D&d)

本來比較簡單的一道題,排序處理一下就可以了,由於bool cmp函數寫錯了,調試了一下午,還是寫的太少~~

代碼:

#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;const int N=1e5+5;struct node{    int a1,a2,a3,a4;} ip[N],ans[N],res[N];bool cmp(node a,node b){    if(a.a1!=b.a1) return a.a1<=b.a1;    if(a.a2!=b.a2) return a.a2<=b.a2;    if(a.a3!=b.a3) return a.a3<=b.a3;    if(a.a4!=b.a4) return a.a4<=b.a4;}int main(){    int t,tot=1,n,m;    cin>>t;    while(t--)    {        memset(res,0,sizeof(res));        cin>>n>>m;        for(int i=1; i<=n; i++) scanf("%d.%d.%d.%d",&ip[i].a1,&ip[i].a2,&ip[i].a3,&ip[i].a4);        for(int i=1; i<=m; i++) scanf("%d.%d.%d.%d",&ans[i].a1,&ans[i].a2,&ans[i].a3,&ans[i].a4);        int k=0;        printf("Case #%d:\n",tot++);        for(int i=1; i<=m; i++)        {            int c=0,cnt=0;            for(int j=1; j<=n; j++)            {                res[k].a1=ip[j].a1&ans[i].a1;                res[k].a2=ip[j].a2&ans[i].a2;                res[k].a3=ip[j].a3&ans[i].a3;                res[k].a4=ip[j].a4&ans[i].a4;                k++;            }            sort(res+k-n,res+k,cmp);            for(int j=k-n; j<k; j++)            {                if((res[j].a1==res[j+1].a1)&&(res[j].a2==res[j+1].a2)&&(res[j].a3==res[j+1].a3)&&(res[j].a4==res[j+1].a4))                    c++;            }            printf("%d\n",n-c);        }    }    return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.