湖南工业大学创新实验室2015年新生赛(一)1005(重开)

Too young

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 50   Accepted Submission(s) : 20

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

IP地址有如下形式
a.b.c.d
现在给出两串IP地址,第一串的abcd都以十进制整数给出,第二串abcd都以8位二进制数给出。
判断这两个IP地址是否相同。你可以认为给出的所有IP地址都合法

难度:☆

Input

输入一个正整数t,代表测试数据组数,接下来t组数据,如样例给出

Output

相同输出Yes,不相同输出No.细节见样例

Sample Input

2
1.1.1.1
00000001.00000001.00000001.00000001
20.20.20.20
11111111.11111111.11111111.11111111

Sample Output

Yes
No

Author

bitchbitch

Source

light oj
 
下面化成10进制一节一节比较就行
#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
using namespace std;
int pow(int x, int n)
{
    int pw = 1;
    while (n > 0)
    {
        if (n & 1)        // n & 1 等价于 (n % 2) == 1
            pw *= x;
        x *= x;
        n >>= 1;        // n >>= 1 等价于 n /= 2
    }
    return pw;
}
int main()
{
    char a[1000];
    int a1,a2,a3,a4;
    int t;
    int i;
    int sum1,sum2,sum3,sum4;
    while(cin>>t)
    {
    while(t--)
    {
        sum1=0;sum2=0;sum3=0;sum4=0;
        scanf("%d.%d.%d.%d",&a1,&a2,&a3,&a4);
        scanf("%s",a);
        for(i=0;i<8;i++)
        {
            if(a[i]=='1')
            {
                sum1+=(pow(2,7-i));
            }
        }
        for(i=9;i<17;i++)
        {
            if(a[i]=='1')
            {
                sum2+=(pow(2,16-i));
            }
        }
        for(i=18;i<26;i++)
        {
            if(a[i]=='1')
            {
                sum3+=(pow(2,25-i));
            }
        }
        for(i=27;i<strlen(a);i++)
        {
            if(a[i]=='1')
            {
                sum4+=(pow(2,34-i));
            }
        }
        if(sum1==a1&&sum2==a2&&sum3==a3&&sum4==a4)
        {
            puts("Yes");
        }
        else
        {
            puts("No");
        }
    }
    }
    return 0;
}

  

posted @ 2015-11-25 19:39  樱花落舞  阅读(320)  评论(0编辑  收藏  举报