UVA10054 The Necklace 题解
好可恶一道题,怎么没人告诉我输出之间有空行(
思路是先抽象成图,然后跑一边dfs记录边的前后顺序。
对于不能成环的情况,只需要再开个数组记录度数判断奇点即可。
若存在奇点则break掉,剩下的跑dfs、
//produced by miya555 //stupid mistakes:1.多测要清空 2.输出之间有空行 //ideas:dfs直接搜 #include<bits/stdc++.h> using namespace std; const int N=1010; int t,n,d[N],g[N][N],flag; void euler(int u){ int v; for(v=1;v<=50;v++){ if(g[u][v]){ g[u][v]--; g[v][u]--; euler(v); cout<<v<<' '<<u<<endl; } } } int tmp; int main(){ //int u,v; cin>>t; for(int x=1;x<=t;x++){ memset(d,0,sizeof(d)); memset(g,0,sizeof(g)); cout<<"Case #"<<x<<endl; flag=0; cin>>n; for(int i=1;i<=n;i++){ int u,v; cin>>u>>v; d[u]++; d[v]++; g[u][v]++; g[v][u]++; tmp=u; } for(int i=1;i<=50;i++){ if(d[i]%2==1){ cout<<"some beads may be lost"<<endl; flag=1; break; } } if(!flag) euler(tmp); cout<<"\n"; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话