【俄外长开启非洲之行 努力打破西方外交孤立和制裁】俄罗斯外长拉夫罗夫24日在开罗与埃及总统塞西和外长舒克里举行会谈,努力打破西方对俄实施的外交孤立和制裁。#CriseEnUkraine# Le président égyptien Abdel-Fattah al-Sissi s'est entretenu dimanche avec le ministre russe des Affaires étrangères Sergueï Lavrov, en visite au Caire, pour discuter des relations bilatérales et des questions régionales et mondiales d'intérêt commun. M. Lavrov a remis à M. Sissi une lettre du président russe Vladimir Poutine, exprimant l'importance que la Russie accorde à la consolidation des relations bilatérales avec l'Egypte dans le cadre du "partenariat stratégique et de l'accord de coopération entre les deux pays", a indiqué la présidence égyptienne dans un communiqué. M. Sissi a salué la coopération croissante entre Le Caire et Moscou qui s'illustre par des projets russes en Egypte, notamment la centrale nucléaire d'El-Dabaa en cours de construction, la création d'une zone industrielle russe sur l'axe du canal de Suez ainsi que d'autres projets conjoints dans divers domaines. 详细报道链接:https://t.cn/A6amgrar
有向图的拓扑排序
#include
#include
#include
using namespace std;
const int N =100010;
int n ,m;
int h[N],e[N],ne[N],idx;
int q[N],d[N];
void add(int a ,int b)
{
e[idx]=b ,ne[idx]=h[a],h[a]=idx ++;
}
bool topsort()
{
int hh=0,tt=-1;
for(int i=1;i<=n;i++)
if(!d[i]) //搜索所有入度为0的点
q[++tt]=i;
while(hh<=tt)
{
int t = q[hh++];
for (int i =h[t];i!=-1;i=ne[i])
{
int j =e[i];
d[j] --;
if (d[j] ==0) q[++ tt] = j; //减到0加入队尾
}
}
return tt = n-1; //能撑到最后说明符合条件
}
int main()
{
cin >> n >> m;
memset(h,-1,sizeof h );
for (int i = 0;i {
int a ,b;
cin >> a >> b;
add(a,b);
d[b]++; //入度加1
}
if (topsort())
{
for (int i =0;i puts("");
}
else puts("-1");
return 0;
}
#include
#include
#include
using namespace std;
const int N =100010;
int n ,m;
int h[N],e[N],ne[N],idx;
int q[N],d[N];
void add(int a ,int b)
{
e[idx]=b ,ne[idx]=h[a],h[a]=idx ++;
}
bool topsort()
{
int hh=0,tt=-1;
for(int i=1;i<=n;i++)
if(!d[i]) //搜索所有入度为0的点
q[++tt]=i;
while(hh<=tt)
{
int t = q[hh++];
for (int i =h[t];i!=-1;i=ne[i])
{
int j =e[i];
d[j] --;
if (d[j] ==0) q[++ tt] = j; //减到0加入队尾
}
}
return tt = n-1; //能撑到最后说明符合条件
}
int main()
{
cin >> n >> m;
memset(h,-1,sizeof h );
for (int i = 0;i
int a ,b;
cin >> a >> b;
add(a,b);
d[b]++; //入度加1
}
if (topsort())
{
for (int i =0;i
}
else puts("-1");
return 0;
}
图中点的层次(宽搜框架)
#include
#include
#include
using namespace std;
const int N = 10010;
int n , m;
int h [N],e[N],ne[N],idx;
int d[N],q[N];
void add(int a ,int b)
{
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int bfs()
{
int hh=0,tt = 0;
q[0]=1;
memset(d,-1,sizeof d);
d[1]=0;
while(hh<=tt)
{
int t=q[hh++];
for (int i =h[t];i!=-1;i=ne[i])
{
int j =e[i];
if(d[j]==-1)
{
d[j]=d[t]+1;
q[++tt] =j;
}
}
}
return d[n];
}
int main()
{
cin >>n >> m;
memset(h,-1,sizeof h );
for (int i =0;i {
int a,b;
cin >> a >> b;
add(a,b);
}
cout << bfs() << endl;
return 0 ;
}
#include
#include
#include
using namespace std;
const int N = 10010;
int n , m;
int h [N],e[N],ne[N],idx;
int d[N],q[N];
void add(int a ,int b)
{
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int bfs()
{
int hh=0,tt = 0;
q[0]=1;
memset(d,-1,sizeof d);
d[1]=0;
while(hh<=tt)
{
int t=q[hh++];
for (int i =h[t];i!=-1;i=ne[i])
{
int j =e[i];
if(d[j]==-1)
{
d[j]=d[t]+1;
q[++tt] =j;
}
}
}
return d[n];
}
int main()
{
cin >>n >> m;
memset(h,-1,sizeof h );
for (int i =0;i
int a,b;
cin >> a >> b;
add(a,b);
}
cout << bfs() << endl;
return 0 ;
}
✋热门推荐