社区讨论

too many or too few lines*3

P2731[USACO3.3] 骑马修栅栏 Riding the Fences参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi6mkl6i
此快照首次捕获于
2025/11/20 07:20
4 个月前
此快照最后确认于
2025/11/20 07:20
4 个月前
查看原帖
CPP
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int m,u,v,num[520],g[520][520],ans[1300],len,maxi,mini;
void dfs(int i){
    for(int k=mini;k<=maxi;k++){
        if(g[k][i]){
            g[i][k]--;
            g[k][i]--;
            dfs(k);
        }
    }
    ans[++len]=i;
}
int main(){
    int i,j,start;
    scanf("%d",&m);
    while(m--){
        scanf("%d%d",&u,&v);
        g[u][v]=g[v][u]=1;
        ++num[u];++num[v];
        maxi=max(max(u,v),maxi);
        mini=min(min(u,v),mini);
    }
    start=1;
    for(i=mini;i<=maxi;i++){
        if(num[i]&1){
            start=i;
            break;
        }
    }
    dfs(start);
    for(i=len;i>=1;i--){
        printf("%d\n",ans[i]);
    }
    return 0;
}
求助大佬!!!

回复

3 条回复,欢迎继续交流。

正在加载回复...