比赛 |
国庆欢乐赛2 |
评测结果 |
TTTTTWWWWWWWWWWWWWWWWWWWW |
题目名称 |
追忆 |
最终得分 |
0 |
用户昵称 |
梦那边的美好RE |
运行时间 |
52.528 s |
代码语言 |
C++ |
内存使用 |
39.41 MiB |
提交时间 |
2025-10-04 11:38:55 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+7;
vector<int>G[N];
int a[N],b[N],mapp[2008][2008];
int c,T;
int main(){
freopen("recall.in","r",stdin);
freopen("recall.out","w",stdout);
cin>>c>>T;
while(T--){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
if(c<=5){
int n,m,q;
cin>>n>>m>>q;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
mapp[i][j]=1e9+7;
}
mapp[i][i]=0;
}
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
G[u].push_back(v);
mapp[u][v]=1;
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(mapp[i][j]>mapp[i][k]+mapp[k][j]){
mapp[i][j]=mapp[i][k]+mapp[k][j];
}
}
}
}
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
while(q--){
int o,x,y,k;
cin>>o;
if(o==1){
cin>>x>>y;
swap(a[x],a[y]);
}
else if(o==2){
cin>>x>>y;
swap(b[x],b[y]);
}
else{
cin>>k>>x>>y;
int ans=0;
for(int i=1;i<=n;i++){
if(x<=a[i]&&a[i]<=y&&mapp[k][i]!=1e9+7){
ans=max(ans,b[i]);
}
}
cout<<ans<<"\n";
}
}
}
else{
int n,m,q;
cin>>n>>m>>q;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
G[u].push_back(v);
}
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
while(q--){
int o,x,y;
cin>>o>>x>>y;
if(o==3){
cout<<0<<"\n";
}
}
}
}
return 0;
}