比赛 |
EYOI与SBOI开学欢乐赛5th |
评测结果 |
AAWAA |
题目名称 |
SERNET模拟 |
最终得分 |
80 |
用户昵称 |
00000 |
运行时间 |
0.033 s |
代码语言 |
C++ |
内存使用 |
60.29 MiB |
提交时间 |
2022-09-16 20:58:58 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,k,l,a[50];
struct node{
int u,c;
};
vector<node> g[200000];
struct sj{
int id,t,c,d;
}s[200000];
int an[200000],ans;
int flag=0,mark[110][110000];
void f(int x,int y,int tt)//编号,位置,时间
{
if(tt>l)
{
an[s[x].id]++;
flag=1;
return;
}
// cout<<s[x].id<<endl;
if(mark[y][s[x].id]) return;
// cout<<x<<" "<<y<<" "<<tt<<endl;
if(y==s[x].d) return;
// cout<<"sfdg"<<endl;
mark[y][s[x].id]=1;
for(node q:g[y])
{
f(x,q.u,tt+q.c);
if(flag==1) return;
}
}
int main(){
freopen("sernet.in","r",stdin);
freopen("sernet.out","w",stdout);
cin>>n;
for(int q=1;q<=n;q++) cin>>a[q];
cin>>m;
for(int q=1;q<=m;q++)
{
int x,y,z;
cin>>x>>y>>z;
g[x].push_back({y,z});
g[y].push_back({x,z});
}
cin>>k;
for(int q=1;q<=k;q++)
{
cin>>s[q].id>>s[q].t>>s[q].c>>s[q].d;//id,时间,出发,目的
}
cin>>l;
for(int q=1;q<=k;q++)
{
// cout<<"veadfgsf"<<endl;
flag=0;
f(q,s[q].c,s[q].t);
}
for(int q=1;q<=150000;q++)
if(an[q]) ans++;
cout<<ans;
return 0;
}