hdu 2206 IP的计算
2013-02-15 12:15
399 查看
A的很是狼狈;
给一些测试数据吧:
123.00123.123.123 YES
123.123.0.123 YES
123.123..123 NO
a12.123.123.123 NO
123.123.123.256 NO
给一些测试数据吧:
123.00123.123.123 YES
123.123.0.123 YES
123.123..123 NO
a12.123.123.123 NO
123.123.123.256 NO
#include<iostream> #include<string> using namespace std; char a[110]; int b[110]; int main() { while(gets(a) != NULL) { int l, i, j; bool pp = false; l = strlen(a); a[l] = '.'; a[l+1] = NULL; int k = 0; for(i = 0; i <= l; i++) { if(a[i] == '.') b[k++] = i; if(k > 4) { pp = true;break; } if(a[i] < '0' || a[i] > '9') { if(a[i] != '.') { pp = true;break; } } } if(i > l && k < 4) pp = true; if(b[0] > 3) pp = true; for(i = 1; i < 4; i++) { if(a[i] - a[i]-1 > 4) { pp = true;break; } } int num = 0; for(i = 0; i < b[0]; i++) { num *= 10; num += a[i] - '0'; } if(num > 255) pp = true; if(pp == true) { printf("NO\n");continue; } k = 0; for(j = 0; j < 3; j++, k++) { num = 0; if(b[k+1] - b[k] == 1) { printf("NO\n");break; } for(i = b[k]+1; i < b[k+1]; i++) { num *= 10; num += a[i] - '0'; } if(num > 255) { printf("NO\n");break; } } if(j >= 3) printf("YES\n"); } return 0; }
相关文章推荐
- 2206 IP的计算 HDU
- HDU 2206 IP的计算
- hdu 2206 IP的计算 模拟
- HDU 2206 IP的计算
- hdu 2206IP的计算(sscanf的使用 & 字符串判断处理)
- 【W】HDU2206——字符串处理(IP计算)
- HDU 2206 IP的计算 WA
- IP的计算_hdu_2206(郁闷).java
- IP计算_hdu_2206
- hdu 2206 IP的计算
- hdu 2206 IP的计算(最全的注意事项)
- hdu-2206-Ip的计算
- HDU--2206 -- IP的计算 [正则表达式]
- HDU——2206 IP的计算
- HDU 2206 IP的计算 WA
- HDU-2206 IP的计算 简洁AC
- HDU 2206 IP的计算【经典题】
- hdu 2206 IP的计算
- hdu 2206 IP的计算
- hdu 2206 ip的计算