CF902A Visiting a Friend
CF902A Visiting a Friend
这道题其实还是一个模拟 (建议下降难度)
题目大意: 输入一个 ,表示 组数据,在输入 ,表示该序列长度。 然后起始点在 ,接着输入 次的 和 表示在 和 这个区间内的数值是可行的。最后问从 开始,可不可以到达终点。
这个题目,仔细审读一下便可以发现:如果可以通过,那么 和 就必须覆盖到这一个区间内的每一个点上。所以我们只需要先对每一个 和 之间的值变成 true,注意要判断,就是当前的点是在被标记过的范围内,才可以进行更新。最后在寻找一遍,如果有一个点是 false 的话,输出 NO 并且 exit(0)即可。最后如果都是 true 的话,输出 YES 即可
所以代码便是:
#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
bool a[N];
int main()
{
int n,m;
cin>>n>>m;
memset(a,false,sizeof(a));// 初始化
a[0]=true;
for(int i=1;i<=n;i++)
{
int x,y;
cin>>x>>y;
if(a[x]) //在当前的点是可以在标记的范围内
{
for(int j=x;j<=y;j++)
a[j]=true;
}
}
for(int i=0;i<=m;i++)
{
if(a[i]==false) //当前的点没有被更新过
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES";
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现