02:宗教信仰

总时间限制: 
5000ms

Atitit
webservice的意识体制 discover机制

内存限制: 
65536kB

 

1.1.
Ws
disconvert 的组播地址和端口就是37021

描述
世界上有许多宗教,你感兴趣的是你高校里的同桌信仰多少种宗教。

1.2.
Ws
disconvert的发现体制建立在udp组播基础上2

你的高校有n名学生(0 < n <=
伍仟0),你不太只怕询问逐个人的宗教信仰,因为他们不太愿意揭示。但是当您还要找到2名学童,他们却愿意告诉你他们是还是不是信仰同一宗教,你可以通过重重如此的垂询预计学校里的宗派数目标上限。你能够认为每名学生只会信仰最多一种宗教。

 

 

 

输入
输入包涵多组数据。
每组数据的率先行蕴含n和m,0 <= m <=
n(n-1)/2,其后m行每行包含几个数字i和j,表示学生i和学生j信仰同一宗教,学生被标明为1至n。输入以一行
n = m = 0 作为达成。

 

输出
对此每组数据,先输出它的号码(从1上马),接着输出学生信仰的不等宗教的数据上限。

1.1. Ws disconvert 的组播地址和端口就是3702

关于cxf报:Cannot create URL for
this address
soap.udp://239.255.255.250:3702的原因

 

 the
ONVIF discovery process is based onhttp://specs.xmlsoap.org/ws/2005/04/discovery it use SOAP
over UDP.

If you
are using apache-cxf, this can be achieve using

org.apache.cxf.ws.discovery.WSDiscoveryClient

A
simple sample code could be :

import
java.util.List;

import
javax.xml.ws.EndpointReference;

import
org.apache.cxf.ws.discovery.WSDiscoveryClient;

 

public
class Main

{

    public
static void main(String[] args)

    {

        WSDiscoveryClient
client = new WSDiscoveryClient();

        client.setVersion10();
// use WS-discovery 1.0

        client.setDefaultProbeTimeout(1000);
// timeout 1s

 

        System.out.println(“Probe:”

  • client.getAddress());

        List<EndpointReference>
references = client.probe();

 

        System.out.println(“Nb
answsers:” + references.size());

        for
(EndpointReference ref : references)

        {

            System.out.println(ref.toString());

        }

    }

}

 

Probe is
:soap.udp://239.255.255.250:3702

Nb
answsers:1

<?xml
version=”1.0″ encoding=”UTF-8″
standalone=”yes”?><EndpointReference
xmlns=”http://www.w3.org/2005/08/addressing"&gt;&lt;Address&gt;http://192.168.31.144:10080/onvif/device\_service&lt;/Address&gt;&lt;ReferenceParameters/&gt;&lt;/EndpointReference&gt;

 

样例输入
10 9
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
10 4
2 3
4 5
4 8
5 8
0 0

1.2. Ws disconvert的觉察体制建立在udp组播基础上

 

我:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王”Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red
cloak

简称:: Emir
Attilax Akbar 埃Mill 阿提拉克斯 阿克巴

全名::Emir
Attilax Akbar bin
Mahmud bin  attila
bin Solomon bin
adam Al Rapanui 

埃Mill 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 Solomon 本Adam 阿尔 拉帕努伊   

常用名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

职称:uke总部o2o管事人,举世网格化项目开创者,uke宗教与文化合二为一事务部局长,Uke部落首席大酋长,uke制度与重点会议委员会参谋长,uke保安部首席大队长,uke制度检查委员会副会长,奶牛科学和技术cto ,uke波莉尼西亚区大区连锁管事人,克尔格伦群岛区连锁管事人,莱恩群岛区连锁管事人,uke汤加王国区域总管。布维岛和南乔治亚和南桑威奇群岛大区连锁管事人

 

转发请注脚来源:attilax的特辑   http://www.cnblogs.com/attilax/

–Atiend

 

 

样例输出
Case 1: 1
Case 2: 7

第一眼:Tarjan
第二眼:刚刚眼瞎,,并查集带走

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 const int MAXN=50001;
 7 void read(int &n)
 8 {
 9     char c='+';int x=0;bool flag=0;
10     while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
11     while(c>='0'&&c<='9')
12     x=(x<<1)+(x<<3)+c-48,c=getchar();
13     flag==1?n=-x:n=x;
14 }
15 int n,m;
16 int fa[MAXN];
17 bool vis[MAXN];
18 int find(int x)
19 {
20     if(fa[x]==x)
21         return fa[x];
22     return fa[x]=find(fa[x]);
23 }
24 void unionn(int x,int y)
25 {
26     int fx=find(x);
27     int fy=find(y);
28     fa[fx]=fy;
29 }
30 int tot=0;
31 int main()
32 {
33     while(scanf("%d%d",&n,&m))
34     {
35         if(n==0&&m==0)break;
36         for(int i=1;i<=n;i++)
37             fa[i]=i;
38         memset(vis,0,sizeof(vis));
39         
40         for(int i=1;i<=m;i++)
41         {
42             int x,y;
43             read(x);read(y);
44             if(find(x)!=find(y))
45                 unionn(x,y);
46         }
47         int ans=0;
48         for(int i=1;i<=n;i++)
49         {
50             if(vis[find(i)]==0)
51             {
52                 vis[find(i)]=1;
53                 ans++;
54             }
55         }
56         printf("Case %d: %d\n",++tot,ans);
57     }
58     return 0;
59 } 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注