zoukankan      html  css  js  c++  java
  • 湖南工业大学创新实验室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;
    }
    

      

  • 相关阅读:
    STL hash_map使用
    STL的 string 类赋值
    STL map使用详解
    下面我使用vector容器为基础来构成一棵树
    MFC中CString.Format的详细用法
    error LNK2001: 无法解析的外部符号 "public: static class stdext::hash_map
    !!! STL的string类如何实现CString的Format功能 这是一个经典问题,记住
    STL map和STL set(转载)
    为什么提示此错误?RunTime Check Failure #2 Stack around the variable 'tch1'was corrupted.
    STL源码剖析
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/4995716.html
Copyright © 2011-2022 走看看