第一次在你谷上干绿题,求各位dalao看看哪错了

P2731 [USACO3.3] 骑马修栅栏 Riding the Fences

no19er @ 2024-08-31 20:50:52

#include<bits/stdc++.h>
using namespace std;
int a[502][502],d[502],n,x,y,s=502,mx,ls;
int main(){
    fin(n);
    for(int i=1;i<=n;i++)
        fin(x),fin(y),
        a[x][y]++,d[x]++,
        a[y][x]++,d[y]++,
        s=min(s,min(x,y)),
        mx=max(mx,max(x,y));
    for(int i=mx;i;i--)if(d[i]%2)s=i;
    d[s]++;
    u:cout<<s<<endl,d[s]-=2;
    for(int i=1;i<=mx;i++)
        if(a[s][i])
            if(d[i]-1){
                a[s][i]--,a[i][s]--,s=i;
                goto u;
            }else ls=i;
    cout<<ls;
    return 0;
}

|