fafu1224 - Ping
2013-07-26 19:10
253 查看
题目链接:点击打开链接
Description:
在操作系统中,我们常常用ping程序来查看某两个主机之间是否能够相通,其基本格式是ping ip/主机名。Ping程序的原理是从源主机向目的主机发送一个icmp回显请求报文,如果目的主机收到这个报文就会发送回一个icmp回显应答的报文,因此我们可以根据是否收到目的主机的应答来判断两个主机是否能够相通(假设报文在传送过程中不会丢失)。
在linux操作系统上,我们还可以用tcpdump程序来查看通过主机网卡的所有报文,它的原理是通过将网络接口卡设置成混杂模式来截获经过网络接口的每一个分组,现在给出在主机0运行tcpdump的所有输出,试只根据这些信息来判断某两个主机是否相通。(假设如果a能够ping通b,b也能ping通a)。
Input:
输入文件含有多组测试数据,每组数据的第一行有两个整数k,m(0 < k<=30000),k代表总共截获了k个报文,m代表有m个询问,接下来的k行每行描述一个报文,有以下两种格式: 1.****** 表示其他报文 2.i Reply 0 表示主机i向主机0发回一个icmp回显应答报文( 0< i<=20000) 再接下来的m行中每行有两个整数a b,表示询问a b是否相通。(0 < a,b<=20000)
Output:
对于每个询问如果能够判断出相通则输出YES,否则输出NO。
Sample Input:
3 2
******
1 reply 0
2 reply 0
0 1
2 3
4 1
******
1 reply 0
5 reply 0
******
1 2
Sample Output:
YES
NO
NO
Description:
在操作系统中,我们常常用ping程序来查看某两个主机之间是否能够相通,其基本格式是ping ip/主机名。Ping程序的原理是从源主机向目的主机发送一个icmp回显请求报文,如果目的主机收到这个报文就会发送回一个icmp回显应答的报文,因此我们可以根据是否收到目的主机的应答来判断两个主机是否能够相通(假设报文在传送过程中不会丢失)。
在linux操作系统上,我们还可以用tcpdump程序来查看通过主机网卡的所有报文,它的原理是通过将网络接口卡设置成混杂模式来截获经过网络接口的每一个分组,现在给出在主机0运行tcpdump的所有输出,试只根据这些信息来判断某两个主机是否相通。(假设如果a能够ping通b,b也能ping通a)。
Input:
输入文件含有多组测试数据,每组数据的第一行有两个整数k,m(0 < k<=30000),k代表总共截获了k个报文,m代表有m个询问,接下来的k行每行描述一个报文,有以下两种格式: 1.****** 表示其他报文 2.i Reply 0 表示主机i向主机0发回一个icmp回显应答报文( 0< i<=20000) 再接下来的m行中每行有两个整数a b,表示询问a b是否相通。(0 < a,b<=20000)
Output:
对于每个询问如果能够判断出相通则输出YES,否则输出NO。
Sample Input:
3 2
******
1 reply 0
2 reply 0
0 1
2 3
4 1
******
1 reply 0
5 reply 0
******
1 2
Sample Output:
YES
NO
NO
#include<iostream> #include<string> using namespace std; const int N = 30005; char c [100]; int main() { int k, m, i, j, l, t, ans; while(cin >> l >> m) { int flag[20005]={0}; flag[0] = 1; int a[20005], b[20005]; getchar(); for(i=0; i<l; i++) gets(c[i]); for(j=0; j<m; j++) cin >> a[j] >> b[j]; for(j=0; j<i; j++) { for(k=0; k<strlen(c[j]); k++) { if(c[j][k] == '*') break; if(c[j][k] == ' ') { ans = 1; t = 0; do{ t += (c[j][--k] - '0') * ans; ans *= 10; }while(k > 0); flag[t] = 1; break; } } } for(j=0; j<m; j++) if(flag[a[j]] && flag[b[j]] ) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
相关文章推荐
- FAFU-OJ 1224 Ping
- windows系统,可以ping通IP但是不能ping通网址的解决方法
- 用C语言实现Ping程序功能---转
- FAFU-1043 最大和谐子方阵 DP
- 防火墙设置:虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
- VMware虚拟机 ping出现 DUP!
- 用JS实现ping的功能(JS ping url)
- wpa supplicant ping: bad address
- TCP/IP详解--IP路由选择详解 ping命令的过程
- ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
- 命令行界面(CMD) 使用PING 等系统命令却无法识别?
- 异步ping的实现,如何在10秒内ping完20000个设备
- oracle的tnsping与TCPIP的ping命令的比较
- 可以PING通IP地址 但是PING不通网址(不能上网,能上QQ、下载)的解决(转载)
- Mac系统ping命令使用方法
- 使用popen函数创建ping命令管道
- Reduce Gaming Latency (Lowering Ping) in Windows
- win7打开ping
- 物理机与虚拟机在同一网段ping不通的原因
- error in invoking target 'itsping' of makefile