第一个MLE
第二个和第三个RE
第四个WA
第五个TLE
有没有大神给改一改,在线等挺急的\
#include<bits/stdc++.h>
using namespace std;
struct node{
int asd,ypj;
};
int n,m;
bool vis[1000002];
int mSum[1000002],ans[1000002];
vector<int>v[1000002];
queue<node>q;
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i){
int x,y;
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
q.push({1,1});
vis[1]=true;
ans[1]=1;
while(!q.empty()){
node f=q.front();
int nNum=f.asd,nSte=f.ypj;
int sN=v[nNum].size();
for(int i=0;i<sN;++i){
if(v[nNum][i]==-1)continue;
int xx=v[nNum][i];
if(!vis[xx]){
mSum[xx]=nSte+1;
ans[xx]++;
vis[xx]=true;
}
else if(mSum[xx]==nSte+1)ans[xx]++;
q.push({xx,nSte+1});
v[nNum][xx]=-1;
}
q.pop();
}
for(int i=1;i<=n;++i){
printf("%d\n",ans[i]%100003);
}
return 0;
}