为什么快读会T一个点???
  • 板块学术版
  • 楼主114514m
  • 当前回复11
  • 已保存回复11
  • 发布时间2022/10/5 10:45
  • 上次更新2023/10/27 08:44:29
查看原帖
为什么快读会T一个点???
657158
114514m楼主2022/10/5 10:45

题目

以下是代码

#include<bits/stdc++.h>
using namespace std;
int read()
{
	int s=0;
	bool flag=1;
	char c=getchar();
	while(c<'0'||c>'9')
	{
		if(c=='-') flag=0;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		s=(s<<3)+(s<<1)+c-'0';
		c=getchar();
	}
	return (flag?s:~(s-1));
}
const int N=200010;
struct node{
	int g;
	int to;
} map1[N];
int v[N];
void add(int x,int y,int xb)
{
	map1[xb]=(node){v[x],y};
	v[x]=xb;
}
int vis[N];
int n,m,a,b;
void dfs(int x)
{
	if(vis[x]) return ;
	vis[x]=1;
	if(x==b)
	{
		printf("Yes");
		exit(0);
	}
	for(int i=v[x];i;i=map1[i].g)
		dfs(map1[i].to);
}
int main()
{
	n=read(),m=read(),a=read(),b=read();
	//scanf("%d%d%d%d",&n,&m,&a,&b);
	for(int i=1;i<=m;i++)
	{
		int x,y;
		x=read(),y=read();
		//scanf("%d%d",&x,&y);
		add(x,y,i);
	}
	dfs(a);
	printf("No");
	return 0;
}

改scanf前

改scanf后

求dalao解答

2022/10/5 10:45
加载中...