暴力代码如何修改
help!
#include<bits/stdc++.h>
using namespace std;
long long m,n,k[2000010],h;
struct nn {
long long x,y;
} a[2000010];
struct kn {
long long a,b,c,d;
} b[2000010];
int main() {
scanf("%lld%lld",&n,&m);
a[1].x=0;
a[1].y=0;
k[1]=1;
for(long long i=1; i<=m; i++) {
scanf("%lld%lld%lld%lld",&b[i].a,&b[i].b,&b[i].c,&b[i].d);
if(k[b[i].a]==1) {
a[b[i].b].x=a[b[i].a].x+b[i].c;
a[b[i].b].y=a[b[i].a].y+b[i].d;
k[b[i].b]=1;
}
if(k[b[i].b]==1) {
a[b[i].a].x=a[b[i].b].x-b[i].c;
a[b[i].a].y=a[b[i].b].y-b[i].d;
k[b[i].a]=1;
}
}
while(1) {
h=0;
for(long long i=1; i<=m; i++) {
if(k[b[i].a]==1&&k[b[i].b]==0) {
a[b[i].b].x=a[b[i].a].x+b[i].c;
a[b[i].b].y=a[b[i].a].y+b[i].d;
k[b[i].b]=1;
h++;
}
if(k[b[i].b]==1&&k[b[i].a]==0) {
a[b[i].a].x=a[b[i].b].x-b[i].c;
a[b[i].a].y=a[b[i].b].y-b[i].d;
k[b[i].a]=1;
h++;
}
}
if(h==0) break;
}
for(long long i=1;i<=n;i++){
if(k[i]==0) printf("undecidable\n");
else printf("%lld %lld\n",a[i].x,a[i].y);
}
return 0;
}