2 1.1.1.1 00000001.00000001.00000001.00000001 20.20.20.20 11111111.11111111.11111111.11111111
Yes No
#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; }
湖南工业大学创新实验室2015年新生赛(一)1005(重开)
原文:http://www.cnblogs.com/yinghualuowu/p/4995716.html