当前位置: 首页 > news >正文

【题解】WebGoC 118869.项链

题目描述

魔法学院开设了一项魔法训练课程,学员可通过学习掌握一种魔法,能够将任意一条项链转换为另一条项链。项链由n颗各种颜色的珠子串联而成,珠子的顺序你可以自由调整,魔法效果与限制如下:

你可以施展若干次魔法,每次可以把项链中所有颜色x的珠子都变成颜色y,但作为代价,项链中所有颜色y的珠子也会变成颜色x。


现在给定一条目标项链,以及需要施展魔法的k条初始项链(所有项链长度均为n,颜色用由小到大排好序的整数表示)。对于每条初始项链,若能通过若干次魔法施展将其转换为目标项链,则画1号色的“ ✔️ ”;若无法通过任何魔法组合达成转换,则画一个0号色的“×”,所有线条线粗都是10。

画图时,请先使用moveTo命令,把画笔移动到(-300,0)。


输入格式

  • 第一行,2个整数n和k。(5≤n≤100,2≤k≤7)。
  • 第二行,n个以空格隔开由小到大排好序的整数ai,表示目标项链珠子的颜色。
  • 接下来有k行,每行n个以空格隔开由小到大排好序的整数bi,表示需要施展魔法的每条项链珠子的初始颜色。(数据:0≤ai,bi≤100数据:0≤ai,bi≤1×10^9

输出格式

正确的图形。


输入/输出例子1

输入:

6 3

1 2 2 3 4 7

1 3 4 5 5 7

1 1 1 2 2 2

1 2 3 4 6 6

输出:


样例解释

项链长度为6,目标项链颜色是1 2 2 3 4 7。

  • 第一串项链:把5号色变成2号色,此时项链没有2号色,1 3 4 5 5 7变为1 3 4 2 2 7,交换顺序便得到目标项链1 2 2 3 4 7
  • 第二串项链:无法变成目标项链
  • 第三串项链:
第一步,把2号色变成7号色,项链没有7号色,1 2 3 4 6 6变为1 7 3 4 6 6
第二步,把6号色变成2号色,此时项链没有2号色,1 7 3 4 6 6变为1 7 3 4 2 2,交换顺序便得到目标项链1 2 2 3 4 7

参考答案

int target[105]; int now[105]; int workArr[105]; int workArr2[105]; int ans[10]; void T() { p.c(1).size(10); p.rt(30).fd(60).bk(60); p.lt(60).fd(30).bk(30).rt(30); } void F() { p.c(0).size(10); p.rt(45).fd(30).bk(60); p.fd(30).lt(90); p.fd(30).bk(60).fd(30).rt(45); } int optSort(int len) { int i,j,temp; int swapFlag; for(i = 0; i < len; i = i + 1) { swapFlag = 0; for(j = 0; j < len - i - 1; j = j + 1) { if(workArr[j] > workArr[j+1]) { temp = workArr[j]; workArr[j] = workArr[j+1]; workArr[j+1] = temp; swapFlag = 1; } } if(swapFlag == 0) { break; } } return 0; } int buildTargetFreq(int len) { int i; for(i = 0; i < len; i = i + 1) { workArr[i] = target[i]; } optSort(len); int count = 0; int same = 1; for(i = 1; i < len; i = i + 1) { if(workArr[i] == workArr[i-1]) { same = same + 1; } else { workArr[count] = same; count = count + 1; same = 1; } } workArr[count] = same; count = count + 1; optSort(count); return count; } int buildTestFreq(int len) { int i; for(i = 0; i < len; i = i + 1) { workArr[i] = now[i]; } optSort(len); int count = 0; int same = 1; for(i = 1; i < len; i = i + 1) { if(workArr[i] == workArr[i-1]) { same = same + 1; } else { workArr[count] = same; count = count + 1; same = 1; } } workArr[count] = same; count = count + 1; optSort(count); return count; } int compareFreq(int lenA, int lenB) { if(lenA != lenB) { return 0; } for(int i = 0; i < lenA; i = i + 1) { if(workArr[i] != workArr2[i]) { return 0; } } return 1; } int main() { int n, k; cin >> n >> k; int i,t; for(i = 0; i < n; i = i + 1) { cin >> target[i]; } int sizeBase = buildTargetFreq(n); for(i = 0; i < sizeBase; i = i + 1) { workArr2[i] = workArr[i]; } for(t = 0; t < k; t = t + 1) { for(i = 0; i < n; i = i + 1) { cin >> now[i]; } int sizeTest = buildTestFreq(n); ans[t] = compareFreq(sizeBase, sizeTest); } p.speed(10); p.moveTo(-300, 0); for(t = 0; t < k; t = t + 1) { if(ans[t] == 1) T(); else F(); p.rt(90).up().fd(100); p.lt(90).down(); } p.hide(); return 0; } //难点:超时

题目链接:

https://v1.51goc.com/question/viewProgram/118869

(进去后要登录)

http://www.jsqmd.com/news/1256829/

相关文章:

  • 宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
  • 泸州本地家庭装修靠谱口碑推荐,刚需平层装修 / 改善户型设计 / 大户型全屋整装高端落地方案 - 资讯速览
  • 2026 长沙上门回收笔记本电脑平台对比|实体商家 vs 线上平台怎么选不被坑 - 星际AI
  • Fastboot Enhance:Windows平台最直观的Android刷机工具完整指南
  • 揭秘GPT-4o、Claude-3.5、DeepSeek-Coder与Qwen2.5编程能力差距:8大维度压力测试结果首次公开
  • 2026年桐乡奢侈品回收实测|黄金名表名包一站式变现商家推荐 - 微城市网络
  • 1500万条质检数据从MySQL到MongoDB:多线程迁移方案设计与压测实录
  • 宁波旅游出行服务GEO城市合伙人选型推荐哪家靠谱:2026年代理合作如何锁定源头技术与长效收益? - 企业新闻快传
  • HSTracker:3大功能让你的炉石传说胜率飙升50%
  • 2026国内EMBA QS排名|头部院校中立择校测评 - 品牌2026推荐
  • 【Linux】二十四.线程篇一《一文吃透Linux线程全面解析:概念、内存管理、优缺点与用途》
  • 苏州工业场景下,沃锐智能全自动打包机方案如何破解行业痛点,全自动打包机厂家 - 品牌推荐师
  • 3分钟实现Figma中文界面:设计师必备的FigmaCN完整指南
  • LTE站点传输板更换及网管侧割接配合问题处理案例
  • 青龙面板自动签到工具:30+平台一键打卡完整指南
  • 快消行业SFA系统选型指南:2026年技术对比与实战分析
  • 上海周大福老凤祥旧金回收对比:专柜回收套路多,连锁实体计价更实在 - 日常比对手册
  • Adobe-GenP 3.0终极指南:如何免费激活Adobe全家桶
  • deepseek 怎么导出 pdf?借助 AI 导出鸭,轻松解决各类导出格式困扰
  • ComfyUI-Easy-Use:AI图像创作工作流优化的终极解决方案
  • 终极macOS炉石助手指南:3分钟掌握HSTracker卡组跟踪工具
  • c++ this 指针的用途
  • 告别网盘下载困扰:九大平台直链助手LinkSwift完全指南
  • 社区志愿服务管理系统的设计与实现
  • 2026口碑好的亚太EMBA中立择校测评 - 品牌2026推荐
  • 2026年重庆除甲醛公司选择指南:真实测评避坑 - 信息热点
  • 宝塔+雷池WAF部署
  • 2026 年湖南成人高考高升专报考条件、流程、专业全攻略,零基础在职人可报 - GrowthUME
  • AMD Ryzen硬件调试终极指南:免费开源工具SMUDebugTool完全掌控
  • 如何摆脱网盘下载限制?这款免费工具让你重获自由下载体验