{"problem":{"name":"Necklace","description":{"content":"有一天，袁同学绵了一条价值连城宝石项链，但是，一个严重的问题是，他竟然忘记了项链的主人是谁！在得知此事后，很多人向同学发来了很多邮件，都说项链是自己的，要求他归还（显然其中最多只有一个人说了真话）。袁同学要求每个人都写了一段关于自己项链的描述： 项链上的宝石用数字 $0$ 至 $9$ 来表示。一个对于项链的表示就是从项链的某个宝石开始：顺指针绕一圈，沿途记下经过的宝石，比如如下项链： ![](","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP10476"},"statements":[{"statement_type":"Markdown","content":"有一天，袁同学绵了一条价值连城宝石项链，但是，一个严重的问题是，他竟然忘记了项链的主人是谁！在得知此事后，很多人向同学发来了很多邮件，都说项链是自己的，要求他归还（显然其中最多只有一个人说了真话）。袁同学要求每个人都写了一段关于自己项链的描述：\n\n项链上的宝石用数字 $0$ 至 $9$ 来表示。一个对于项链的表示就是从项链的某个宝石开始：顺指针绕一圈，沿途记下经过的宝石，比如如下项链：\n\n![](https://cdn.luogu.com.cn/upload/image_hosting/57501u19.png)\n\n它的可能的四种表示是 $0123$、$1230$、$2301$、$3012$。\n\n袁同学现在心急如焚，于是他找到了你，希望你能够编一个程序，判断两个给定的描述是否代表同一个项链（注意，项链是不会翻转的）。\n\n## Input\n\n输入文件只有两行，每行一个由 $0$ 至 $9$ 组成的字符串，描述一个项链的表示（保证项链的长度是相等的）。\n\n## Output\n\n如果两条项链不可能同构，那么输出 `No`，否则的话，第一行输出一个 `Yes` 第二行输出该项链的字典序最小的表示。\n\n[samples]\n\n## Note\n\n设 $L =$ 项链长度，则 $1\\leq L \\leq 1000000$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP10476","tags":["哈希 hashing","双指针 two-pointer"],"sample_group":[["2234342423 \n2423223434","Yes\n2234342423"]],"created_at":"2026-03-03 11:09:25"}}