题目链接

  • 题意:
    给很多由两个颜色组成的珠子,看是否能连成一串,相邻珠子相邻部分颜色相同
  • 分析:
    裸地欧拉路判断+路径输出
const int MAXN = 1100;
const int MAXV = 60;
const int MAXE = 2020;struct Edge
{int from, to;
};struct UnDirect_Euler
{int n, m;int deg[MAXV];bool vis[MAXE];vector<int> G[MAXV];vector<Edge> edges;stack<int> sk;vector<int> ans;void init(int n){this->n = n;edges.clear();REP(i, n){deg[i] = 0;G[i].clear();}}void addEdge(int a, int b){edges.push_back((Edge) { a, b });edges.push_back((Edge) { b, a });m = edges.size();G[a].push_back(m - 2);G[b].push_back(m - 1);deg[a]++;deg[b]++;}void dfs(int u, int ind){REP(i, G[u].size()){int x = G[u][i];Edge& e = edges[x];if (!vis[x]){vis[x] = vis[x ^ 1] = true;dfs(e.to, x);}}if (ind >= 0)sk.push(ind);}//返回1:欧拉回路  返回2:欧拉路经int solve(int s){ans.clear();int cnt = 0;REP(i, n){if (deg[i] == 1){if (++cnt > 2) return 0;s = i;}else if (deg[i] % 2 != 0) return 0;}while (!sk.empty()) sk.pop();REP(i, m) vis[i] = false;dfs(s, -1);REP(i, m) if (!vis[i]) return 0;while (!sk.empty()){ans.push_back(sk.top());sk.pop();}return cnt != 0 ? 1 : 2;}
} graph;int a[MAXN], b[MAXN];
int main()
{int T, n;RI(T);FE(kase, 1, T){graph.init(60);RI(n);REP(i, n){RII(a[i], b[i]);graph.addEdge(a[i], b[i]);}printf("Case #%d\n", kase);if (graph.solve(a[0]) == 2){vector<int>& ans = graph.ans;REP(i, ans.size()){Edge& e = graph.edges[ans[i]];int u = e.from, v = e.to;printf("%d %d\n", u, v);}}else puts("some beads may be lost");puts("");}return 0;
}

The Necklace相关推荐

  1. HDU 5727 Necklace

    题目:Necklace 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5727 题意:要用n个阳石和n个阴石来串一个项链(环状),规定阳石旁边只能是阴石,阴 ...

  2. HDU 5730 Shell Necklace(生成函数 多项式求逆)

    Shell Necklace 由题意可得f[n]=∑i=1na[i]f[n−i]f[n] = \sum\limits_{i = 1} ^{n} a[i] f[n - i]f[n]=i=1∑n​a[i] ...

  3. CF1361C. Johnny and Megan‘s Necklace(构造,欧拉回路,传递闭包)

    CF1361C. Johnny and Megan's Necklace Solution 真duliu,快做吐了... 刚开始想了一个假做法(但前面还是很真的). 假的做法大概是你发现这个东西具有传 ...

  4. UVa10054 The Necklace 欧拉回路

    如果图G中的一个路径包括每个边恰好一次,则路径称为欧拉路径. 如果一个回路是欧拉路径,则称为欧拉回路.(即起点终点相同的欧拉路) 有欧拉回路的称为欧拉图,有欧拉路径但无欧拉回路的称为半欧拉图. 无向图 ...

  5. Happy Necklace

    happy necklace 题意:一个项链是由红蓝两个珠子构成,项链不是环,是一条线,要求每一个素数长度红色珠子的个数大于等于蓝色珠子的个数,给你n个珠子问符合条件的项链的个数. 思路:一看取模就知 ...

  6. HDU 5730 Shell Necklace

    HDU 5730 Shell Necklace 原题连接: http://acm.hdu.edu.cn/showproblem.php?pid=5730 闻题而来. 设组合成长度为 k k的方案数量为 ...

  7. Accepted Necklace HDU - 2660

    Accepted Necklace HDU - 2660 WA wa了两发又双叒叕是因为没读清楚题我裂开 AC代码 好家伙一手最low的dp竟然过了,我还一直不敢交hhhh #include < ...

  8. HDU-2660 Accepted Necklace

    GDUT 2020寒假训练 专题一 D 原题链接 HDU-2660 Accepted Necklace GDUT-专题1-D BFS/DFS 题目大意 有N个石头想要从中选出K个做成项链,每颗石头有自 ...

  9. USACO Section 1.2 Broken Necklace

    题目 题目分析 推的过程 需要避免的坑 整体代码 USACO的题解 题目 题目描述 输入描述 Line 1: N, the number of beads Line 2: a string of N ...

  10. Necklace(树状数组+离线操作)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3874 Necklace Time Limit: 15000/5000 MS (Java/Others) ...

最新文章

  1. 深度学习处在大爆炸时代的边缘
  2. 梯度下降的线性回归用python_运用TensorFlow进行简单实现线性回归、梯度下降示例...
  3. 为女儿取名“王者荣耀”可想过代价?
  4. OpenKruise v0.10.0 新特性 WorkloadSpread 解读
  5. OpenCV之cvSmooth函数平滑滤波
  6. MAC OS X10.9.5下成功驱动独立显卡影驰Nvidia GeForce GTX 760大将(4GB)--非公版
  7. php功能大马加密乱码,php大马加密工具 phpTrace:奇虎360开源的PHP脚”的相关知识...
  8. IntelliJIDEA和tomcat在浏览器js乱码问题解决
  9. MATLAB 读取文件及数据
  10. MySQL报错113_连接 MySQL 报错'NoneType' object has no attribute '__getitem__'
  11. AcrelEMS-BP生物制药工厂能效管理系统
  12. “程序已停止工作”问题的解决方法,停止解决方法
  13. 二项分布与伯努利试验的关系,看图说话
  14. 第十六期 CyanogenMod 小米3W刷机《手机就是开发板》
  15. Linux网卡驱动分析
  16. 树莓派——8、树莓派博通BCM2835芯片手册导读
  17. 影视剪辑,自学剪辑的转场与准则,掌握一门剪辑技能
  18. SECURITY:加密与解密,AIDE入侵检测系统,扫面与抓包
  19. 黑盒测试、白盒测试与灰盒测试方法
  20. 异域公主连接iOS怎么修改服务器,公主连结ios账号在电脑端登录方法 模拟器使用技巧分享...

热门文章

  1. 自动点击按钮html,如何自动点击网页按钮
  2. 腾讯云网站备案咨询解答:网站能否备案?
  3. web测试-sql注入漏洞
  4. shell学习-基础篇
  5. chatGPT Access denied访问被拒绝(已解决)
  6. sqoop的java操作,总结归纳,含代码
  7. Java实现 蓝桥杯VIP 算法提高 洗牌
  8. java version 1.8下载_java jdk v1.8.0 官方免费版
  9. dos命令实现循环求和
  10. Motion Graphics Loops: 2 After Effects Techniques 运动图形循环2: After Effects技术 Lynda课程中文字幕