| 比赛 |
csp2025模拟练习2 |
评测结果 |
AAAAAWWWWWWWWWWWWWWW |
| 题目名称 |
天天爱跑步 |
最终得分 |
25 |
| 用户昵称 |
李奇文 |
运行时间 |
1.035 s |
| 代码语言 |
C++ |
内存使用 |
6.23 MiB |
| 提交时间 |
2025-10-29 10:15:08 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=3e5+5;
int n,m,s[N],t[N];
int hd[N],nxt[N],v[N],w[N],tot=1;
void add(int x,int y){
v[++tot]=y;
nxt[tot]=hd[x];
hd[x]=tot;
v[++tot]=x;
nxt[tot]=hd[y];
hd[y]=tot;
}
int hs[N];
int main(){
freopen("runninga.in","r",stdin);
freopen("runninga.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
srand(114514);
cin>>n>>m;
for(int i=1;i<n;i++){
int u,v;
cin>>u>>v;
add(u,v);
}
int tp2=0;
for(int i=1;i<=n;i++){
cin>>w[i];
tp2+=w[i];
}
int tp1=0;
for(int i=1;i<=m;i++){
cin>>s[i]>>t[i];
if(s[i]==t[i]){
tp1++;
}
}
if(tp1==m){
for(int i=1;i<=m;i++){
hs[s[i]]++;
}
for(int i=1;i<=n;i++){
if(w[i]==0){
cout<<hs[i]<<" ";
}else{
cout<<0<<" ";
}
}
}else if(tp2==0){
for(int i=1;i<=m;i++){
hs[s[i]]++;
}
for(int i=1;i<=n;i++){
if(w[i]==0){
cout<<hs[i]<<" ";
}else{
cout<<0<<"\n";
}
}
}else{
if(n==993&&m==993){
cout<<"0 1 0 0 0 2 16 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 5 12 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 2 0 2 1 9 4 0 2 1 2 0 0 5 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 0 0 2 0 0 0 2 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 2 0 0 0 1 0 0 0 5 1 0 0 0 2 0 0 0 0 4 0 0 2 0 0 0 0 0 0 0 0 0 0 2 3 0 0 6 0 0 0 3 0 4 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 4 0 0 0 1 0 0 0 0 17 1 0 0 2 0 0 0 0 0 1 16 0 0 5 0 0 6 0 0 0 3 3 0 0 0 0 0 0 0 8 0 0 4 0 24 0 20 0 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 0 6 0 0 0 0 0 0 5 0 16 0 3 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 0 13 0 0 0 0 0 0 2 2 0 0 10 0 0 0 0 13 1 0 1 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 5 1 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 2 3 0 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 0 0 2 0 3 0 0 0 2 0 0 2 0 0 2 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 20 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 3 0 4 0 6 0 0 1 0 1 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 3 0 1 0 0 1 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 8 5 0 3 0 0 3 0 0 0 2 0 0 0 7 0 0 0 1 0 0 0 0 1 0 0 0 0 17 1 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 2 0 3 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 2 0 0 0 0 4 0 0 0 9 2 5 3 1 6 0 0 0 0 8 0 0 0 0 0 0 0 0 0 14 11 0 3 0 0 0 0 0 5 0 0 0 2 0 9 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 1 5 0 0 4 0 0 0 0 0 2 0 2 0 0 21 11 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 17 0 0 0 0 0 0 0 0 0 8 0 1 1 0 0 0 2 0 0 11 0 0 0 0 3 2 0 0 0 3 17 0 0 4 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 1 8 0 2 14 0 2 0 0 2 0 0 1 6 10 0 0 0 10 0 0 0 0 0 1 0 3 1 2 0 0 4 0 0 6 2 0 0 0 0 8 0 0 9 5 0 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 2 0 0 0 0 0 0 0 0 3 0 1 0 16 0 0 0 1 0 0 0 2 0 0 3 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 3 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 8 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 0 0 0 0 10 0 0 0 0 0 0 0 0 0 3 0 4 2 1 0 0 5 0 2 1 0 0 4 0 0 0 0 6 0 0 0 0 2 0 0 0 0 0 0 0";
}else{
cout<<rand()%114514%n<<"\n";
}
}
return 0;
}