{"id":1564,"date":"2026-08-29T13:50:30","date_gmt":"2026-08-29T13:50:30","guid":{"rendered":"https:\/\/accelthinking.com\/?p=1564"},"modified":"2026-10-03T19:12:30","modified_gmt":"2026-10-03T19:12:30","slug":"ccc-2021-j5-s2-modern-art-solution-analysis","status":"publish","type":"post","link":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/","title":{"rendered":"CCC 2021 J5\/S2 Modern Art Solution: Count Gold Cells with Parity"},"content":{"rendered":"<style>\nhtml,body,#page{background:#f8fafc!important}.site-header,.site-footer,#masthead,#colophon,.entry-header,.post-navigation,.comments-area{display:none!important}.entry-title{display:none!important}.site-content .ast-container{max-width:100%!important;padding:0!important}.entry-content{margin:0!important;line-height:1.5!important}.site-content,#content,#primary,#main,.ast-plain-container #primary{margin:0!important;padding:0!important;background:#f8fafc}.ast-article-single{padding:0!important}\n.ati-page,.ati-page *{box-sizing:border-box}.entry-content>.ati-page,.ati-page{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;font-family:Inter,Arial,sans-serif;color:#0f172a;background:#f8fafc;font-size:0;line-height:0}.ati-page>p,.ati-page main>p,.ati-footer>p{display:none!important;margin:0!important}.ati-page a{text-decoration:none;color:inherit}.ati-page svg{display:block}.ati-top,.ati-page main,.ati-footer{font-size:16px;line-height:1.5}\n.ati-top{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:0 clamp(22px,6vw,116px);color:#fff;background:#050505;border-bottom:1px solid rgba(255,255,255,.08)}.ati-top>p{display:contents!important}.ati-top br,.ati-nav br{display:none!important}.ati-brand{display:inline-flex;align-items:center;width:max-content;color:#ffc400!important}.ati-logo img{display:block;width:auto;height:38px;max-width:min(260px,42vw);object-fit:contain}.ati-nav{display:flex;gap:clamp(20px,3vw,44px);align-items:center;justify-content:center;font-size:15px;font-weight:600}.ati-nav a{position:relative;padding:28px 0 24px;color:rgba(255,255,255,.86)!important}.ati-nav a:hover,.ati-nav a.active{color:#ffc400!important}.ati-nav a:after{position:absolute;right:0;bottom:19px;left:0;height:2px;content:\"\";background:#ffc400;transform:scaleX(0);transition:transform 160ms ease}.ati-nav a:hover:after,.ati-nav a.active:after{transform:scaleX(1)}.ati-header-cta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;color:#050505!important;background:#ffc400;border-radius:8px;font-size:14px;font-weight:800}\n.ati-page{--hero-pattern:radial-gradient(circle at 82% 24%,rgba(255,196,0,.18) 0 2px,transparent 3px),linear-gradient(135deg,rgba(255,255,255,.07) 1px,transparent 1px);--hero-pattern-size:90px 90px,38px 38px;--hero-pattern-opacity:.55}.ati-solutions{--hero-pattern:radial-gradient(circle at 25px 25px,rgba(255,196,0,.2) 0 2px,transparent 3px),linear-gradient(90deg,rgba(255,196,0,.09) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.06) 1px,transparent 1px);--hero-pattern-size:96px 96px,96px 96px,96px 96px}.ati-cp-academy{--hero-pattern:radial-gradient(circle at 20px 20px,rgba(255,196,0,.26) 0 3px,transparent 4px),radial-gradient(circle at 74px 58px,rgba(20,184,166,.18) 0 2px,transparent 3px),linear-gradient(135deg,transparent 46%,rgba(255,196,0,.11) 47% 48%,transparent 49%);--hero-pattern-size:112px 112px,112px 112px,56px 56px}.ati-it-consulting{--hero-pattern:linear-gradient(90deg,transparent 0 28px,rgba(20,184,166,.14) 29px 30px,transparent 31px 72px),linear-gradient(0deg,transparent 0 28px,rgba(255,196,0,.1) 29px 30px,transparent 31px 72px),radial-gradient(circle at 30px 30px,rgba(20,184,166,.22) 0 2px,transparent 3px);--hero-pattern-size:72px 72px,72px 72px,72px 72px}.ati-about-page{--hero-pattern:linear-gradient(135deg,rgba(255,196,0,.12) 0 2px,transparent 2px 28px),radial-gradient(circle at 85% 28%,rgba(255,255,255,.12) 0 2px,transparent 3px);--hero-pattern-size:42px 42px,96px 96px}.ati-contact{--hero-pattern:radial-gradient(circle at 78% 44%,transparent 0 34px,rgba(255,196,0,.14) 35px 36px,transparent 37px 70px,rgba(20,184,166,.12) 71px 72px,transparent 73px),linear-gradient(135deg,rgba(255,255,255,.06) 1px,transparent 1px);--hero-pattern-size:220px 220px,42px 42px}.ati-cp-weekly-challenge{--hero-pattern:radial-gradient(circle at 18px 18px,rgba(255,196,0,.2) 0 2px,transparent 3px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);--hero-pattern-size:52px 52px,104px 104px}.ati-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(28px,6vw,90px);align-items:center;min-height:430px;padding:76px clamp(22px,10vw,160px);overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.6)),var(--hero) center\/cover no-repeat}.ati-hero:after{position:absolute;inset:0;content:\"\";background:var(--hero-pattern);background-size:var(--hero-pattern-size);opacity:var(--hero-pattern-opacity);mix-blend-mode:screen;pointer-events:none}.ati-hero>*{position:relative;z-index:1}.ati-label{margin:0 0 12px!important;color:#ffb000!important;font-size:13px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase}.ati-hero h1{max-width:840px;margin:0!important;color:#fff!important;font-size:clamp(42px,5vw,72px)!important;line-height:1.03!important;font-weight:800!important;letter-spacing:0}.ati-hero-title-line{display:block;color:#fff!important}.ati-hero-title-line.accent{color:#ffc400!important}.ati-word{display:inline-block;white-space:nowrap}.ati-word:not(:last-child){margin-right:.32em}.ati-letter{display:inline-block;opacity:0;transform:translateY(.34em);animation:ati-letter-in 520ms cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(38ms * var(--i))}@keyframes ati-letter-in{0%{opacity:0;transform:translateY(.34em)}100%{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ati-letter{opacity:1;transform:none;animation:none}}.ati-hero p:not(.ati-label){max-width:700px;margin:22px 0 0!important;color:rgba(255,255,255,.86)!important;font-size:19px!important}.ati-side{padding:28px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;backdrop-filter:blur(18px)}.ati-side strong{display:block;color:#ffc400;font-size:22px;line-height:1.15;overflow-wrap:anywhere}.ati-side p{margin:12px 0 0!important;color:rgba(255,255,255,.78)!important}.ati-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.ati-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:8px;font-size:15px;font-weight:800}.ati-primary{color:#050505!important;background:linear-gradient(135deg,#ffc400,#ffb000);box-shadow:0 18px 38px rgba(255,196,0,.25)}.ati-secondary{color:#fff!important;border:1px solid #ffc400}\n.ati-section,.ati-about{max-width:1320px;margin:0 auto;padding:72px clamp(22px,6vw,64px)}.ati-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:end;margin-bottom:32px}.ati-heading h2,.ati-split h2{margin:0!important;color:#050505!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.08!important}.ati-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ati-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.ati-card{padding:26px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 18px 45px rgba(15,23,42,.06)}.ati-card .ati-num{color:#b47c00;font-size:14px;font-weight:800;text-transform:uppercase}.ati-card h3{margin:12px 0 0!important;color:#050505!important;font-size:22px!important;line-height:1.12!important}.ati-card p{margin:12px 0 0!important;color:#172033!important}.ati-task-card h3{margin:0!important}.ati-task-card h3 .ati-num{display:inline;color:#b47c00;font-size:22px;line-height:1.12}.ati-task-card p{margin-top:14px!important}.ati-split{max-width:1320px;margin:0 auto;padding:72px clamp(22px,6vw,64px);display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;border-top:1px solid #e2e8f0}.ati-list{display:grid;gap:14px}.ati-list article{padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.ati-list b{display:block;color:#050505;font-size:18px}.ati-list span{display:block;margin-top:6px;color:#172033}.ati-dark{max-width:none;background:linear-gradient(135deg,#050505,#0f172a);color:#fff;border:0;padding-left:clamp(22px,10vw,160px);padding-right:clamp(22px,10vw,160px)}.ati-dark h2,.ati-dark p{color:#fff!important}.ati-dark .ati-list article{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.ati-dark .ati-list b{color:#ffc400}.ati-dark .ati-list span{color:rgba(255,255,255,.78)}.ati-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.ati-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ati-benefits span{padding:18px 20px;color:#0f3d37;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.24);border-radius:8px;font-weight:800}.ati-side .ati-side-link{display:inline-flex;margin-top:18px;min-height:42px;padding:0 16px;align-items:center;justify-content:center;color:#050505!important;background:#ffc400;border-radius:8px;font-size:14px;font-weight:800}.ati-challenge-entry{max-width:1320px;margin:0 auto;padding:0 clamp(22px,6vw,64px) 72px}.ati-challenge-entry+.ati-challenge-entry{padding-top:0}.ati-challenge-panel{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px 30px;color:#fff;background:linear-gradient(135deg,#050505,#111827);border:1px solid rgba(255,196,0,.36);border-radius:8px;box-shadow:0 24px 55px rgba(15,23,42,.16)}.ati-challenge-entry h2{margin:0!important;color:#fff!important;font-size:clamp(24px,3vw,36px)!important;line-height:1.08!important}.ati-challenge-entry p{margin:8px 0 0!important;color:#dbe4ef!important}.ati-challenge-entry a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;color:#050505!important;background:#ffc400;border-radius:8px;font-weight:800;white-space:nowrap}.ati-posts{display:grid;gap:18px}.ati-posts article{padding:26px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.ati-posts h2{margin:0!important;color:#050505!important;font-size:28px!important}.ati-tag{color:#b47c00;font-size:13px;font-weight:800;text-transform:uppercase}\n.ati-assessment{display:grid;gap:18px}.ati-assessment-frame{display:block;width:100%;min-height:3300px;border:0;background:#f8fafc}.ati-embed{overflow:hidden;border:1px solid #1e293b;border-radius:8px;background:#050505;box-shadow:0 18px 45px rgba(15,23,42,.12)}.ati-embed iframe{display:block;width:100%;min-height:760px;border:0}.ati-levels{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ati-levels li{padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#172033}.ati-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:800px){.ati-task-grid{grid-template-columns:1fr}.ati-assessment-frame{min-height:4300px}}\nbody .ati-wpforms .wpforms-container{margin:0!important}body .ati-wpforms form,body .ati-wpforms .wpforms-field-container{display:flex!important;flex-direction:column!important}body .ati-wpforms .wpforms-field{padding:10px 0 16px!important}body .ati-wpforms .wpforms-field.wpforms-field-text{display:none!important}body .ati-wpforms .wpforms-field.wpforms-field-select{order:-10!important}body .ati-wpforms .wpforms-field-label{font-weight:800!important;color:#050505!important}body .ati-wpforms .wpforms-field-row{max-width:100%!important}body .ati-wpforms .wpforms-field-row-block{width:100%!important;padding:0!important;margin-bottom:12px!important}body .ati-wpforms input,body .ati-wpforms textarea,body .ati-wpforms select{width:100%!important;max-width:100%!important;min-height:48px!important;padding:12px 14px!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#f8fafc!important;color:#0f172a!important;font:inherit!important}body .ati-wpforms select{appearance:auto!important}body .ati-wpforms button[type=submit]{min-height:52px!important;padding:0 26px!important;border:0!important;border-radius:8px!important;color:#050505!important;background:linear-gradient(135deg,#ffc400,#ffb000)!important;box-shadow:0 18px 38px rgba(255,196,0,.24)!important;font-weight:800!important}\n#wpforms-76-field_5-container,#wpforms-76-field_6-container{display:none!important}#wpforms-76-field_4-container{order:-10!important}\n.ati-challenge-query .wp-block-post-template,.ati-challenge-posts{display:grid!important;gap:18px!important;padding:0!important;margin:0!important;list-style:none!important}.ati-challenge-query .wp-block-post,.ati-challenge-posts li{padding:26px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 18px 45px rgba(15,23,42,.06)}.ati-challenge-query h2{margin:0!important}.ati-challenge-query h2 a,.ati-challenge-posts a{display:block;color:#050505!important;font-size:clamp(23px,2.8vw,31px);font-weight:800;line-height:1.12}.ati-challenge-query h2 a:hover,.ati-challenge-posts a:hover{color:#b47c00!important}.ati-challenge-query time,.ati-challenge-posts time{display:block;margin-top:10px;color:#b47c00;font-size:13px;font-weight:800;text-transform:uppercase}.ati-challenge-query .wp-block-post-excerpt,.ati-challenge-posts .wp-block-latest-posts__post-excerpt{margin:12px 0 0!important;color:#172033!important;font-size:16px;line-height:1.55}.ati-challenge-query .wp-block-post-excerpt__more-link{display:inline-flex;margin-top:14px;color:#b47c00!important;font-weight:800}.ati-article{max-width:1080px;margin:0 auto;padding:72px clamp(22px,6vw,64px);font-size:18px;line-height:1.7}.ati-article-card{padding:clamp(28px,5vw,56px);background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 18px 45px rgba(15,23,42,.06)}.ati-article-card p{margin:0 0 22px!important;color:#172033!important}.ati-article-card h2{margin:42px 0 14px!important;color:#050505!important;font-size:clamp(25px,3vw,36px)!important;line-height:1.1!important}.ati-article-card ul{margin:0 0 24px 22px!important;color:#172033}.ati-article-card li{margin:8px 0}.ati-article-card pre{overflow:auto;margin:16px 0 28px!important;padding:20px!important;color:#f8fafc!important;background:#0b1020!important;border:1px solid #1e293b;border-radius:8px;font-size:14px;line-height:1.55}.ati-article-card pre code{display:block!important;padding:0!important;color:#f8fafc!important;background:transparent!important;border:0!important;font-family:Menlo,Consolas,monospace;white-space:pre}.ati-back-link{display:inline-flex;margin-bottom:18px;color:#b47c00!important;font-size:14px;font-weight:800}\n.ati-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;min-height:90px;padding:22px clamp(22px,10vw,160px);color:#f8fafc;background:#050505;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ati-footer .ati-logo img{height:36px;max-width:240px}.ati-footer a{color:#f8fafc!important}.ati-footer a:hover{color:#ffc400!important}.ati-footer nav{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;font-size:14px;font-weight:600;line-height:1.35}.ati-footer address{display:grid;gap:5px;justify-self:end;color:#dbe4ef;font-size:14.5px;font-weight:500;line-height:1.35;font-style:normal;margin:0!important}.ati-footer address a{font-weight:700}.ati-footer address span{color:#cbd5e1}\n.ati-menu-toggle,.ati-menu-button{display:none}@media(max-width:1100px){.ati-top,.ati-hero,.ati-heading,.ati-grid,.ati-grid.five,.ati-split,.ati-path,.ati-footer,.ati-challenge-panel{grid-template-columns:1fr}.ati-header-cta,.ati-footer address{justify-self:start}.ati-nav{justify-content:flex-start;flex-wrap:wrap}.ati-split{gap:30px}.ati-benefits{grid-template-columns:1fr}.ati-challenge-entry a{justify-self:start}}@media(max-width:700px){.ati-top{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:0!important;padding:16px 22px!important}.ati-logo img{height:34px}.ati-menu-button{display:grid;gap:5px;place-content:center;width:44px;height:40px;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px;cursor:pointer}.ati-menu-button span{display:block;width:20px;height:2px;background:#ffc400;border-radius:999px}.ati-nav{display:none!important;grid-column:1\/-1;width:100%;gap:0;margin-top:14px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.ati-nav a{padding:11px 0!important}.ati-nav a:after{bottom:5px}.ati-header-cta{display:none!important}.ati-menu-toggle:checked~.ati-nav{display:grid!important}.ati-menu-toggle:checked~.ati-header-cta{display:inline-flex!important;grid-column:1\/-1;justify-self:start;margin-top:12px}.ati-hero{min-height:auto;padding:60px 22px}.ati-hero h1{font-size:40px!important}.ati-footer nav{justify-content:flex-start}}\n@media(max-width:1100px){.ati-top{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:0!important;padding:16px 22px!important}.ati-logo img{height:34px}.ati-menu-button{display:grid!important;gap:5px;place-content:center;width:44px;height:40px;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px;cursor:pointer}.ati-menu-button span{display:block;width:20px;height:2px;background:#ffc400;border-radius:999px}.ati-nav{display:none!important;grid-column:1\/-1;width:100%;gap:0;margin-top:14px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.ati-nav a{padding:11px 0!important}.ati-nav a:after{bottom:5px}.ati-header-cta{display:none!important}.ati-menu-toggle:checked~.ati-nav{display:grid!important}.ati-menu-toggle:checked~.ati-header-cta{display:inline-flex!important;grid-column:1\/-1;justify-self:start;margin-top:12px}}\n.ati-mobile-menu{display:none}.ati-mobile-menu summary{list-style:none}.ati-mobile-menu summary::-webkit-details-marker{display:none}@media(max-width:1100px){.ati-mobile-menu{display:block!important;position:absolute!important;top:18px!important;right:22px!important;z-index:9999!important}.ati-mobile-menu summary{display:grid!important;gap:5px;place-content:center;width:44px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#050505;cursor:pointer}.ati-mobile-menu summary span{display:block;width:20px;height:2px;background:#ffc400;border-radius:999px}.ati-mobile-menu summary:before{display:block;width:20px;height:2px;content:\"\";background:#ffc400;border-radius:999px;box-shadow:0 7px 0 #ffc400,0 14px 0 #ffc400}.ati-mobile-menu summary span{display:none}.ati-mobile-menu[open] summary{border-color:rgba(255,196,0,.62);background:rgba(255,196,0,.1)}.ati-mobile-panel{position:absolute;top:52px;right:0;display:grid;gap:2px;width:min(78vw,320px);padding:12px;background:#050505;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.46)}.ati-mobile-panel a{display:block;padding:12px 14px;color:#f8fafc!important;border-radius:6px;font-size:15px;font-weight:800;line-height:1.2}.ati-mobile-panel a.active,.ati-mobile-panel a:hover{color:#ffc400!important;background:rgba(255,255,255,.06)}.ati-mobile-panel .ati-mobile-cta{margin-top:6px;color:#050505!important;background:#ffc400;text-align:center}.ati-mobile-panel .ati-mobile-cta:hover{color:#050505!important;background:#ffcf33}}\n.ati-mobile-menu-button{position:absolute!important;top:18px!important;right:22px!important;z-index:10000!important;display:grid!important;place-content:center;width:44px;height:40px;color:#ffc400!important;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#050505;font-size:27px!important;font-weight:800;line-height:1;text-decoration:none!important}.ati-mobile-menu-button:before{display:none!important}.ati-mobile-nav-panel{display:none;position:absolute!important;top:70px!important;right:22px!important;z-index:10000!important;width:min(78vw,320px);padding:12px;background:#050505;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.46)}.ati-mobile-nav-panel:target{display:grid!important;gap:2px}.ati-mobile-nav-panel a{display:block;padding:12px 14px;color:#f8fafc!important;border-radius:6px;font-size:15px;font-weight:800;line-height:1.2}.ati-mobile-nav-panel a.active,.ati-mobile-nav-panel a:hover{color:#ffc400!important;background:rgba(255,255,255,.06)}.ati-mobile-nav-panel .ati-mobile-cta{margin-top:6px;color:#050505!important;background:#ffc400;text-align:center}.ati-mobile-nav-panel .ati-mobile-close{color:#94a3b8!important;text-align:center;font-size:13px}@media(min-width:1101px){.ati-mobile-menu-button,.ati-mobile-nav-panel{display:none!important}}@media(max-width:1100px){.ati-mobile-menu{display:none!important}}\n.trp-language-switcher.trp-floating-switcher{position:fixed!important;top:auto!important;right:22px!important;bottom:22px!important;z-index:10001!important;width:auto!important;min-width:118px!important;--bottom:22px!important;--right:22px!important;--border-radius:8px!important;--bg:#050505!important;--bg-hover:rgba(255,255,255,.08)!important;--text:#f8fafc!important;--text-hover:#ffc400!important;--border:1px solid rgba(255,255,255,.2)!important}.trp-language-switcher .trp-language-switcher-inner{background:#050505!important;border-color:rgba(255,255,255,.2)!important;border-radius:8px!important;box-shadow:0 18px 42px rgba(0,0,0,.28)!important}.trp-language-switcher .trp-language-item{color:#f8fafc!important;font-weight:800!important}.trp-language-switcher .trp-language-item:hover{color:#ffc400!important;background:rgba(255,255,255,.08)!important}.trp-language-switcher .trp-flag-image{display:none!important}.trp-language-switcher .trp-language-item-name{margin-left:0!important}.ati-header-cta{margin-right:0}@media(max-width:1100px){.trp-language-switcher.trp-floating-switcher{right:18px!important;bottom:18px!important;min-width:118px!important;--bottom:18px!important;--right:18px!important}}\n<\/style>\n<style>\n.ati-article-shell{max-width:980px;margin:0 auto;padding:72px clamp(22px,6vw,64px)}\n.ati-article-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 18px 45px rgba(15,23,42,.06);padding:clamp(26px,5vw,58px)}\n.ati-article-meta{display:flex;flex-wrap:wrap;gap:10px 14px;margin:18px 0 0;color:rgba(255,255,255,.78);font-size:14px;font-weight:700}\n.ati-article-content{color:#172033;font-size:18px;line-height:1.72}\n.ati-article-content p{margin:0 0 1.1em!important;color:#172033!important}\n.ati-article-content h2{margin:2em 0 .65em!important;color:#050505!important;font-size:clamp(26px,3vw,36px)!important;line-height:1.12!important}\n.ati-article-content h3{margin:1.45em 0 .45em!important;color:#050505!important;font-size:22px!important;line-height:1.2!important}\n.ati-article-content ul,.ati-article-content ol{margin:0 0 1.2em 1.4em!important;padding:0!important}\n.ati-article-content li{margin:.35em 0!important}\n.ati-article-content pre{margin:1.4em 0!important;padding:18px 20px!important;overflow:auto;color:#e5e7eb;background:#0f172a;border-radius:8px;line-height:1.55;font-size:14px}\n.ati-article-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace}\n.ati-article-content p code,.ati-article-content li code{padding:.1em .32em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#0f172a;font-size:.92em}\n.ati-article-content a{color:#b47c00!important;font-weight:800;text-decoration:none}\n.ati-article-content a:hover{text-decoration:underline}\n.ati-article-back{margin-top:28px;padding-top:22px;border-top:1px solid #e2e8f0}\n@media(max-width:800px){.ati-article-shell{padding:44px 18px}.ati-article-card{padding:24px 18px}.ati-article-content{font-size:16px}.ati-article-content pre{font-size:13px}}\n<\/style>\n<div class=\"ati-page ati-resource-post\" style=\"--hero:url(https:\/\/i0.wp.com\/accelthinking.com\/wp-content\/uploads\/2026\/06\/hero-technology-education-51.png?w=1600&amp;quality=85&amp;ssl=1)\">\n<header class=\"ati-top\">\n      <a class=\"ati-brand ati-logo\" href=\"\/zh_cn\/\" aria-label=\"Accel Thinking home\"><img loading=\"lazy\" decoding=\"async\" height=\"63\" width=\"366\" src=\"https:\/\/i0.wp.com\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png?w=480&amp;quality=85&amp;ssl=1\" alt=\"Accel Thinking\"><\/a><br>\n      <input class=\"ati-menu-toggle\" id=\"ati-menu-post\" type=\"checkbox\" aria-label=\"Toggle navigation menu\"><br>\n      <label class=\"ati-menu-button\" for=\"ati-menu-post\" aria-hidden=\"true\"><span><\/span><span><\/span><span><\/span><\/label>\n<details class=\"ati-mobile-menu\">\n<summary aria-label=\"Open navigation menu\"><span><\/span><span><\/span><span><\/span><\/summary>\n<div class=\"ati-mobile-panel\"><a class=\"\" href=\"\/zh_cn\/\">\u9996\u9875<\/a><a class=\"\" href=\"\/zh_cn\/northstar\/\">\u5317\u6781\u661f<\/a><a class=\"\" href=\"\/zh_cn\/learning\/\">\u5b66\u4e60\u8def\u5f84<\/a><a class=\"active\" href=\"\/zh_cn\/resources\/\">\u8d44\u6e90\u6587\u7ae0<\/a><a class=\"\" href=\"\/zh_cn\/about\/\">\u5173\u4e8e\u6211\u4eec<\/a><a class=\"\" href=\"\/zh_cn\/contact\/\">\u8054\u7cfb\u6211\u4eec<\/a><a class=\"ati-mobile-cta\" href=\"\/zh_cn\/northstar\/\">\u5f00\u59cb\u5317\u6781\u661f\u6d4b\u8bc4<\/a><\/div>\n<\/details>\n<p>      <a class=\"ati-mobile-menu-button\" href=\"#ati-mobile-nav-post\" aria-label=\"Open navigation menu\">\u2630<\/a><\/p>\n<nav id=\"ati-mobile-nav-post\" class=\"ati-mobile-nav-panel\"><a class=\"\" href=\"\/zh_cn\/\">\u9996\u9875<\/a><a class=\"\" href=\"\/zh_cn\/northstar\/\">\u5317\u6781\u661f<\/a><a class=\"\" href=\"\/zh_cn\/learning\/\">\u5b66\u4e60\u8def\u5f84<\/a><a class=\"active\" href=\"\/zh_cn\/resources\/\">\u8d44\u6e90\u6587\u7ae0<\/a><a class=\"\" href=\"\/zh_cn\/about\/\">\u5173\u4e8e\u6211\u4eec<\/a><a class=\"\" href=\"\/zh_cn\/contact\/\">\u8054\u7cfb\u6211\u4eec<\/a><a class=\"ati-mobile-cta\" href=\"\/zh_cn\/northstar\/\">\u5f00\u59cb\u5317\u6781\u661f\u6d4b\u8bc4<\/a><a class=\"ati-mobile-close\" href=\"#\">\u5173\u95ed<\/a><\/nav>\n<nav class=\"ati-nav\"><a class=\"\" href=\"\/zh_cn\/\">\u9996\u9875<\/a><a class=\"\" href=\"\/zh_cn\/northstar\/\">\u5317\u6781\u661f<\/a><a class=\"\" href=\"\/zh_cn\/learning\/\">\u5b66\u4e60\u8def\u5f84<\/a><a class=\"active\" href=\"\/zh_cn\/resources\/\">\u8d44\u6e90\u6587\u7ae0<\/a><a class=\"\" href=\"\/zh_cn\/about\/\">\u5173\u4e8e\u6211\u4eec<\/a><a class=\"\" href=\"\/zh_cn\/contact\/\">\u8054\u7cfb\u6211\u4eec<\/a><\/nav>\n<p>      <a class=\"ati-header-cta\" href=\"\/zh_cn\/northstar\/\">\u5f00\u59cb\u5317\u6781\u661f\u6d4b\u8bc4<\/a><br>\n    <\/p><\/header>\n<p>    <main><\/main><\/p>\n<section class=\"ati-hero ati-lang-en\">\n<div>\n<p class=\"ati-label\">CP \u6bcf\u5468\u7f16\u7a0b\u6311\u6218<\/p>\n<h1 aria-label=\"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\">CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u7edf\u8ba1\u91d1\u8272\u683c\u5b50<\/h1>\n<p>\u5b66\u4e60\u5229\u7528\u5947\u5076\u6027\u3001\u884c\u5217\u7ffb\u8f6c\u548c O(M + N + K) \u7684\u8ba1\u6570\u516c\u5f0f\uff0c\u7528 Python \u4e0e C++ \u89e3\u51b3 Modern Art\u3002<\/p>\n<div class=\"ati-article-meta\"><span>\u4f5c\u8005\uff1aBerny<\/span><span>August 25, 2026<\/span><\/div>\n<\/div>\n<aside class=\"ati-side\"><strong>\u5947\u5076\u6027<br>Rows\/Columns<br>Gold Cells<\/strong>\n<p>CCC practice with structured explanation, implementation notes, and review questions.<\/p>\n<\/aside>\n<\/section>\n<section class=\"ati-hero ati-lang-zh\">\n<div>\n<p class=\"ati-label\">CP \u6bcf\u5468\u7f16\u7a0b\u6311\u6218<\/p>\n<h1 aria-label=\"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u907f\u5f00\u6574\u5f20\u753b\u5e03\">CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u907f\u5f00\u6574\u5f20\u753b\u5e03<\/h1>\n<p>\u7528\u5947\u5076\u6027\u8bb0\u5f55\u884c\u5217 toggle \u72b6\u6001\uff0c\u4e0d\u5efa\u7acb\u6574\u5f20\u753b\u5e03\uff0c\u4e5f\u80fd\u7528\u516c\u5f0f\u6570\u51fa\u6240\u6709 gold cells\u3002<\/p>\n<div class=\"ati-article-meta\"><span>\u4f5c\u8005\uff1aBerny<\/span><span>2026 \u5e74 8 \u6708 25 \u65e5<\/span><\/div>\n<\/div>\n<aside class=\"ati-side\"><strong>\u5947\u5076\u6027<br>\u884c\u5217\u7ffb\u8f6c<br>\u91d1\u8272\u683c\u5b50<\/strong>\n<p>\u7528\u7ed3\u6784\u5316\u8bb2\u89e3\u3001\u5b9e\u73b0\u8bf4\u660e\u548c\u590d\u76d8\u95ee\u9898\u6765\u7ec3\u4e60 CCC \u9898\u76ee\u3002<\/p>\n<\/aside>\n<\/section>\n<section class=\"ati-article-shell\">\n<article class=\"ati-article-card\">\n<div class=\"ati-share-tools\" data-ati-share>\n<div class=\"ati-share-copy\">\n<p class=\"ati-share-kicker\">\u5206\u4eab\u8fd9\u7bc7\u6587\u7ae0<\/p>\n<p class=\"ati-share-note\">\u590d\u5236\u94fe\u63a5\u3001\u4f7f\u7528\u624b\u673a\u5206\u4eab\u3001\u7528\u5fae\u4fe1\u626b\u7801\uff0c\u6216\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u3002<\/p>\n<\/div>\n<div class=\"ati-share-actions\">\n    <button type=\"button\" data-share-native>\u5206\u4eab<\/button><br>\n    <button type=\"button\" data-share-copy-link>\u590d\u5236\u94fe\u63a5<\/button><br>\n    <button type=\"button\" data-share-wechat>\u5fae\u4fe1\u4e8c\u7ef4\u7801<\/button><br>\n    <a data-share-email>\u90ae\u7bb1<\/a>\n  <\/div>\n<div class=\"ati-share-qr\" data-share-qr hidden>\n    <img loading=\"lazy\" data-share-qr-img alt=\"QR code for sharing this article\">\n<p>\u4f7f\u7528\u5fae\u4fe1\u626b\u7801\uff0c\u7136\u540e\u5206\u4eab\u6587\u7ae0\u94fe\u63a5\u3002<\/p>\n<\/div>\n<p class=\"ati-share-status\" data-share-status aria-live=\"polite\">\n<\/p><\/div>\n<div class=\"ati-article-content ati-lang-en\">\n<article class=\"ati-post-article\">\n<p>This problem looks like a two-dimensional grid simulation. We have an <code>M x N<\/code> canvas, every cell starts black, and each operation toggles one entire row or one entire column.<\/p>\n<p>But the efficient solution does not build the whole canvas. The key idea is parity: whether each row and column has been toggled an odd or even number of times.<\/p>\n<p><!-- ati-cpw-dsa-map-start ccc-2021-j5-s2-modern-art-solution-analysis en --><\/p>\n<h2>\u672c\u9898\u5728 CCC \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u8def\u7ebf\u56fe\u4e2d\u7684\u4f4d\u7f6e<\/h2>\n<ul>\n<li>\u9898\u76ee\u7ea7\u522b\uff1aJunior J5\uff0f\u5411 Senior S2 \u8fc7\u6e21<\/li>\n<li>\u6838\u5fc3\u65b9\u6cd5\uff1a\u5947\u5076\u6027\u7edf\u8ba1\u3001\u884c\u5217\u7ffb\u8f6c\u3001\u516c\u5f0f\u8ba1\u6570<\/li>\n<li>\u524d\u7f6e\u77e5\u8bc6\uff1a\u6570\u7ec4\uff0f\u5217\u8868\u3001\u5e03\u5c14\u72b6\u6001\u3001\u53d6\u6a21\u4e0e\u5947\u5076\u6027\u3001\u8ba1\u6570\u3001\u96c6\u5408\u6216\u9891\u7387\u6570\u7ec4<\/li>\n<li>What this teaches: Avoid simulating a huge grid by finding the compressed state that actually determines the answer.<\/li>\n<li>\u76f8\u5173\u5e94\u7528\uff1a\u9891\u7387\u7edf\u8ba1\u3001\u5dee\u5206\u601d\u60f3\u3001\u7f51\u683c\u72b6\u6001\u538b\u7f29\u548c\u6784\u9020\u8ba1\u6570<\/li>\n<\/ul>\n<h2>What to Study Next<\/h2>\n<ul>\n<li>Related CP Weekly problems: <a href=\"\/zh_cn\/ccc-2022-j4-s2-group-work-solution-analysis\/\">CCC 2022 J4\/S2 Good Groups<\/a> for sets and constraints, CCC 2017 J5\/S3 Nailed It! for frequency pair counting (coming soon), CCC 2016 S1 Ragaman for wildcard frequency counting (coming soon).<\/li>\n<li>Related Python \/ C++ foundations: lists\/vectors, boolean arrays, dictionaries\/maps, sets, frequency counting.<\/li>\n<li>Related DSA roadmap article: CCC Counting Patterns: frequency arrays, sets, and parity (planned).<\/li>\n<\/ul>\n<p><!-- ati-cpw-dsa-map-end ccc-2021-j5-s2-modern-art-solution-analysis en --><\/p>\n<h2>What the Problem Is Asking<\/h2>\n<p>Initially, every cell is black.<\/p>\n<p>There are <code>K<\/code> brush operations:<\/p>\n<ul>\n<li><code>R x<\/code>: toggle row <code>x<\/code><\/li>\n<li><code>C y<\/code>: toggle column <code>y<\/code><\/li>\n<\/ul>\n<p>Toggling reverses the color:<\/p>\n<ul>\n<li>black becomes gold<\/li>\n<li>gold becomes black<\/li>\n<\/ul>\n<p>After all operations, we need to output the number of gold cells.<\/p>\n<h2>Where Beginners Often Get Stuck<\/h2>\n<p>A natural first attempt is to create the full grid:<\/p>\n<pre><code class=\"language-python\">grid = [[False] * N for _ in range(M)]<\/code><\/pre>\n<p>Then each row operation flips every cell in a row, and each column operation flips every cell in a column.<\/p>\n<p>This may work for tiny examples, but it is not the right contest approach. The canvas can be too large to store or update directly.<\/p>\n<p>Instead, ask: what determines the final color of one cell?<\/p>\n<p>The answer is the number of times that cell was toggled.<\/p>\n<p>If a cell is toggled an odd number of times, it ends gold. If it is toggled an even number of times, it ends black.<\/p>\n<h2>Core Algorithm Idea<\/h2>\n<p>For a cell <code>(r, c)<\/code>, the total number of toggles is:<\/p>\n<pre><code class=\"language-text\">rowPaintCount[r] + colPaintCount[c]<\/code><\/pre>\n<p>The cell is affected only by its own row and its own column.<\/p>\n<p>We do not need the exact counts. We only need odd or even.<\/p>\n<p>So we maintain:<\/p>\n<pre><code class=\"language-text\">row_odd[r] = whether row r was toggled an odd number of times\ncol_odd[c] = whether column c was toggled an odd number of times<\/code><\/pre>\n<p>Each <code>R x<\/code> operation flips <code>row_odd[x]<\/code>. Each <code>C y<\/code> operation flips <code>col_odd[y]<\/code>.<\/p>\n<h2>State and Counting Formula<\/h2>\n<p>Let:<\/p>\n<pre><code class=\"language-text\">R = number of rows toggled odd times\nC = number of columns toggled odd times<\/code><\/pre>\n<p>A cell is gold exactly when one of its row or column is odd, but not both.<\/p>\n<p>In Boolean terms:<\/p>\n<pre><code class=\"language-text\">row_odd[r] XOR col_odd[c] == True<\/code><\/pre>\n<p>There are two gold cases:<\/p>\n<ol>\n<li>odd row + even column<\/li>\n<li>even row + odd column<\/li>\n<\/ol>\n<p>So the total number of gold cells is:<\/p>\n<pre><code class=\"language-text\">R * (N - C) + (M - R) * C<\/code><\/pre>\n<p>The first term counts cells in odd rows and even columns. The second term counts cells in even rows and odd columns.<\/p>\n<h2>Algorithm Steps<\/h2>\n<ol>\n<li>\u9605\u8bfb<code>M<\/code>, <code>N<\/code>, and <code>K<\/code>.<\/li>\n<li>\u521b\u9020<code>row_odd<\/code> and <code>col_odd<\/code>.<\/li>\n<li>For each operation:<\/li>\n<\/ol>\n<ul>\n<li>toggle the row parity for <code>R x<\/code><\/li>\n<li>toggle the column parity for <code>C y<\/code><\/li>\n<\/ul>\n<ol>\n<li>Count how many rows are odd.<\/li>\n<li>Count how many columns are odd.<\/li>\n<li>Apply the formula:<\/li>\n<\/ol>\n<pre><code class=\"language-text\">R * (N - C) + (M - R) * C<\/code><\/pre>\n<h2>Python \u89e3\u6cd5<\/h2>\n<pre><code class=\"language-python\">M = int(input())\nN = int(input())\nK = int(input())\n\nrow_odd = [False] * (M + 1)\ncol_odd = [False] * (N + 1)\n\nfor _ in range(K):\n    brush_type, num = input().split()\n    idx = int(num)\n\n    if brush_type == &quot;R&quot;:\n        row_odd[idx] = not row_odd[idx]\n    else:\n        col_odd[idx] = not col_odd[idx]\n\nR = sum(row_odd)\nC = sum(col_odd)\n\ngold = R * (N - C) + (M - R) * C\nprint(gold)<\/code><\/pre>\n<h2>C++ \u89e3\u6cd5<\/h2>\n<pre><code class=\"language-cpp\">#include &lt;iostream&gt;\n#include &lt;vector&gt;\nusing namespace std;\n\nint main() {\n    int M, N, K;\n    cin &gt;&gt; M &gt;&gt; N &gt;&gt; K;\n\n    vector&lt;bool&gt; rowOdd(M + 1, false);\n    vector&lt;bool&gt; colOdd(N + 1, false);\n\n    for (int i = 0; i &lt; K; i++) {\n        char brushType;\n        int idx;\n        cin &gt;&gt; brushType &gt;&gt; idx;\n\n        if (brushType == &#x27;R&#x27;) {\n            rowOdd[idx] = !rowOdd[idx];\n        } else {\n            colOdd[idx] = !colOdd[idx];\n        }\n    }\n\n    long long R = 0;\n    long long C = 0;\n\n    for (int i = 1; i &lt;= M; i++) {\n        if (rowOdd[i]) R++;\n    }\n\n    for (int j = 1; j &lt;= N; j++) {\n        if (colOdd[j]) C++;\n    }\n\n    long long gold = R * (N - C) + (M - R) * C;\n    cout &lt;&lt; gold &lt;&lt; &quot;\\n&quot;;\n\n    return 0;\n}<\/code><\/pre>\n<h2>\u590d\u6742\u5ea6\u5206\u6790<\/h2>\n<p>We avoid building the <code>M x N<\/code> grid.<\/p>\n<p>Processing the <code>K<\/code> operations takes:<\/p>\n<pre><code class=\"language-text\">O(K)<\/code><\/pre>\n<p>Counting odd rows and columns takes:<\/p>\n<pre><code class=\"language-text\">O(M + N)<\/code><\/pre>\n<p>So the total time complexity is:<\/p>\n<pre><code class=\"language-text\">O(M + N + K)<\/code><\/pre>\n<p>The memory complexity is:<\/p>\n<pre><code class=\"language-text\">O(M + N)<\/code><\/pre>\n<h2>\u5e38\u89c1\u9519\u8bef<\/h2>\n<ol>\n<li>Building and updating the full <code>M x N<\/code> canvas.<\/li>\n<li>Tracking full paint counts when only parity matters.<\/li>\n<li>Forgetting that toggling the same row twice cancels out.<\/li>\n<li>Counting cells where both row and column are odd as gold, even though two toggles return them to black.<\/li>\n<li>Using <code>int<\/code> for the final answer in C++, which may overflow.<\/li>\n<\/ol>\n<h2>Review Questions<\/h2>\n<ol>\n<li>Why does only odd\/even toggle count matter?<\/li>\n<li>Why does painting the same row twice cancel out?<\/li>\n<li>What does <code>R * (N - C)<\/code> count?<\/li>\n<li>What does <code>(M - R) * C<\/code> count?<\/li>\n<li>Why is building the full grid unnecessary?<\/li>\n<\/ol>\n<\/article>\n<\/div>\n<div class=\"ati-article-content ati-lang-zh\">\n<article class=\"ati-post-article\">\n<p>\u8fd9\u9053\u9898\u6700\u8ff7\u60d1\u4eba\u7684\u5730\u65b9\uff0c\u662f\u5b83\u770b\u8d77\u6765\u50cf\u4e00\u9053\u4e8c\u7ef4 grid simulation\uff1a\u6709\u4e00\u4e2a <code>M x N<\/code> \u7684\u753b\u5e03\uff0c\u6bcf\u6b21\u5237\u4e00\u6574\u884c\u6216\u4e00\u6574\u5217\uff0c\u6700\u540e\u95ee\u6709\u591a\u5c11\u683c\u662f gold\u3002<\/p>\n<p>\u4f46\u5982\u679c\u771f\u7684\u628a\u6574\u5f20\u753b\u5e03\u5efa\u51fa\u6765\uff0c\u7136\u540e\u6bcf\u6b21\u5237\u4e00\u884c\u6216\u4e00\u5217\uff0c\u6570\u636e\u4e00\u5927\u5c31\u4f1a\u5f88\u6162\u3002\u771f\u6b63\u7684\u5173\u952e\u4e0d\u662f\u6a21\u62df\u6bcf\u4e2a\u683c\u5b50\uff0c\u800c\u662f\u6293\u4f4f\u4e00\u4e2a\u66f4\u5c0f\u7684\u72b6\u6001\uff1a\u6bcf\u4e00\u884c\u548c\u6bcf\u4e00\u5217\u88ab\u5237\u4e86\u5947\u6570\u6b21\u8fd8\u662f\u5076\u6570\u6b21\u3002<\/p>\n<p><!-- ati-cpw-dsa-map-start ccc-2021-j5-s2-modern-art-solution-analysis zh --><\/p>\n<h2>\u672c\u9898\u5728 CCC DSA \u5730\u56fe\u91cc\u7684\u4f4d\u7f6e<\/h2>\n<ul>\n<li>\u9898\u76ee\u7ea7\u522b\uff1aJunior J5\uff0f\u5411 Senior S2 \u8fc7\u6e21<\/li>\n<li>\u6838\u5fc3\u65b9\u6cd5\uff1a\u5947\u5076\u6027\u7edf\u8ba1\u3001\u884c\u5217\u7ffb\u8f6c\u3001\u516c\u5f0f\u8ba1\u6570<\/li>\n<li>\u524d\u7f6e\u77e5\u8bc6\uff1a\u6570\u7ec4\uff0f\u5217\u8868\u3001\u5e03\u5c14\u72b6\u6001\u3001\u53d6\u6a21\u4e0e\u5947\u5076\u6027\u3001\u8ba1\u6570\u3001\u96c6\u5408\u6216\u9891\u7387\u6570\u7ec4<\/li>\n<li>\u5b66\u4e60\u91cd\u70b9\uff1a\u4e0d\u8981\u6a21\u62df\u6574\u5f20\u5927\u753b\u5e03\uff1b\u5148\u627e\u51fa\u51b3\u5b9a\u7b54\u6848\u7684\u538b\u7f29\u72b6\u6001\uff0c\u518d\u7528\u516c\u5f0f\u8ba1\u6570\u3002<\/li>\n<li>\u76f8\u5173\u5e94\u7528\uff1a\u9891\u7387\u7edf\u8ba1\u3001\u5dee\u5206\u601d\u60f3\u3001\u7f51\u683c\u72b6\u6001\u538b\u7f29\u548c\u6784\u9020\u8ba1\u6570<\/li>\n<\/ul>\n<h2>\u4e0b\u4e00\u6b65\u63a8\u8350<\/h2>\n<p>\u5982\u679c\u4f60\u5df2\u7ecf\u7406\u89e3 Modern Art\uff0c\u53ef\u4ee5\u7ee7\u7eed\u770b\uff1a<\/p>\n<ul>\n<li>\u76f8\u5173 CP Weekly \u771f\u9898\uff1a<a href=\"\/zh_cn\/ccc-2022-j4-s2-group-work-solution-analysis\/\">CCC 2022 J4\/S2 Good Groups<\/a>\uff08sets and constraints\uff09\u3001CCC 2017 J5\/S3 Nailed It!\uff08frequency pair counting\uff0ccoming soon\uff09\u3001CCC 2016 S1 Ragaman\uff08frequency with wildcards\uff0ccoming soon\uff09<\/li>\n<li>\u76f8\u5173 Python \/ C++ \u57fa\u7840\uff1alists\/vectors\u3001boolean arrays\u3001dictionaries\/maps\u3001sets\u3001frequency counting<\/li>\n<li>\u76f8\u5173 DSA \u4e13\u9898\uff1aCCC Counting Patterns: frequency arrays, sets, and parity\uff08planned\uff09<\/li>\n<\/ul>\n<p><!-- ati-cpw-dsa-map-end ccc-2021-j5-s2-modern-art-solution-analysis zh --><\/p>\n<h2>\u9898\u76ee\u8981\u6211\u4eec\u505a\u4ec0\u4e48<\/h2>\n<p>\u4e00\u5f00\u59cb\uff0c\u753b\u5e03\u4e0a\u6bcf\u4e2a\u683c\u5b50\u90fd\u662f black\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\u6709 <code>K<\/code> \u6b21\u64cd\u4f5c\uff0c\u6bcf\u6b21\u64cd\u4f5c\u6709\u4e24\u79cd\u53ef\u80fd\uff1a<\/p>\n<ul>\n<li><code>R x<\/code>: toggle \u7b2c <code>x<\/code> \u884c<\/li>\n<li><code>C y<\/code>: toggle \u7b2c <code>y<\/code> \u5217<\/li>\n<\/ul>\n<p>Toggle \u7684\u610f\u601d\u662f\u989c\u8272\u53cd\u8f6c\uff1a<\/p>\n<ul>\n<li>black \u53d8 gold<\/li>\n<li>gold \u53d8 black<\/li>\n<\/ul>\n<p>\u6700\u540e\u8981\u8f93\u51fa\u753b\u5e03\u4e0a gold cell \u7684\u6570\u91cf\u3002<\/p>\n<h2>\u521d\u5b66\u8005\u5bb9\u6613\u5361\u5728\u54ea\u91cc<\/h2>\n<p>\u6700\u76f4\u63a5\u7684\u60f3\u6cd5\u662f\u5efa\u4e00\u4e2a\u4e8c\u7ef4\u6570\u7ec4\uff1a<\/p>\n<pre><code class=\"language-python\">grid = [[False] * N for _ in range(M)]<\/code><\/pre>\n<p>\u7136\u540e\u6bcf\u6b21\u64cd\u4f5c\u90fd\u771f\u7684\u628a\u4e00\u6574\u884c\u6216\u4e00\u6574\u5217\u7ffb\u8f6c\u3002<\/p>\n<p>\u8fd9\u4e2a\u601d\u8def\u5728\u5c0f\u6570\u636e\u4e0a\u53ef\u4ee5\u5de5\u4f5c\uff0c\u4f46\u5728\u7ade\u8d5b\u9898\u91cc\u901a\u5e38\u4e0d\u591f\u597d\u3002\u56e0\u4e3a <code>M<\/code> \u548c <code>N<\/code> \u53ef\u80fd\u5f88\u5927\uff0c<code>M x N<\/code> \u7684\u753b\u5e03\u672c\u8eab\u5c31\u53ef\u80fd\u65e0\u6cd5\u5b58\u4e0b\uff0c\u66f4\u4e0d\u7528\u8bf4\u6bcf\u6b21\u64cd\u4f5c\u90fd\u626b\u4e00\u884c\u6216\u4e00\u5217\u3002<\/p>\n<p>\u8fd9\u9053\u9898\u8981\u5b66\u4f1a\u95ee\u4e00\u4e2a\u66f4\u91cd\u8981\u7684\u95ee\u9898\uff1a<\/p>\n<pre><code class=\"language-text\">\u4e00\u4e2a\u683c\u5b50\u7684\u6700\u7ec8\u989c\u8272\uff0c\u5230\u5e95\u7531\u4ec0\u4e48\u51b3\u5b9a\uff1f<\/code><\/pre>\n<p>\u7b54\u6848\u662f\uff1a\u5b83\u88ab toggle \u7684\u603b\u6b21\u6570\u3002<\/p>\n<p>\u5982\u679c\u4e00\u4e2a\u683c\u5b50\u88ab toggle \u5947\u6570\u6b21\uff0c\u5b83\u662f gold\uff1b\u5982\u679c\u88ab toggle \u5076\u6570\u6b21\uff0c\u5b83\u56de\u5230 black\u3002<\/p>\n<h2>\u6838\u5fc3\u7b97\u6cd5\u6982\u5ff5<\/h2>\n<p>\u8fd9\u9053\u9898\u7684\u6838\u5fc3\u662f parity\uff0c\u4e5f\u5c31\u662f\u5947\u5076\u6027\u3002<\/p>\n<p>\u4e00\u4e2a\u683c\u5b50 <code>(r, c)<\/code> \u4f1a\u88ab toggle \u7684\u6b21\u6570\u7b49\u4e8e\uff1a<\/p>\n<pre><code class=\"language-text\">rowPaintCount[r] + colPaintCount[c]<\/code><\/pre>\n<p>\u56e0\u4e3a\u5b83\u53ea\u4f1a\u53d7\u5230\u4e24\u7c7b\u64cd\u4f5c\u5f71\u54cd\uff1a<\/p>\n<ul>\n<li>\u7b2c <code>r<\/code> \u884c\u88ab\u5237\u4e86\u591a\u5c11\u6b21<\/li>\n<li>\u7b2c <code>c<\/code> \u5217\u88ab\u5237\u4e86\u591a\u5c11\u6b21<\/li>\n<\/ul>\n<p>\u6211\u4eec\u5176\u5b9e\u4e0d\u9700\u8981\u77e5\u9053\u5177\u4f53\u5237\u4e86 7 \u6b21\u8fd8\u662f 9 \u6b21\uff0c\u53ea\u9700\u8981\u77e5\u9053\u662f\u5947\u6570\u6b21\u8fd8\u662f\u5076\u6570\u6b21\u3002<\/p>\n<p>\u6240\u4ee5\u53ef\u4ee5\u7ef4\u62a4\u4e24\u4e2a\u6570\u7ec4\uff1a<\/p>\n<pre><code class=\"language-text\">row_odd[r] = \u7b2c r \u884c\u662f\u5426\u88ab\u5237\u4e86\u5947\u6570\u6b21\ncol_odd[c] = \u7b2c c \u5217\u662f\u5426\u88ab\u5237\u4e86\u5947\u6570\u6b21<\/code><\/pre>\n<p>\u6bcf\u6b21\u9047\u5230 <code>R x<\/code>\uff0c\u5c31\u628a <code>row_odd[x]<\/code> \u53cd\u8f6c\u3002\u6bcf\u6b21\u9047\u5230 <code>C y<\/code>\uff0c\u5c31\u628a <code>col_odd[y]<\/code> \u53cd\u8f6c\u3002<\/p>\n<h2>\u72b6\u6001\u5b9a\u4e49<\/h2>\n<p>\u5047\u8bbe\u6709\uff1a<\/p>\n<pre><code class=\"language-text\">R = \u88ab\u5237\u4e86\u5947\u6570\u6b21\u7684\u884c\u6570\nC = \u88ab\u5237\u4e86\u5947\u6570\u6b21\u7684\u5217\u6570<\/code><\/pre>\n<p>\u4e00\u4e2a\u683c\u5b50\u6700\u7ec8\u662f gold\uff0c\u5f53\u4e14\u4ec5\u5f53\u5b83\u6240\u5728\u7684\u884c\u548c\u5217\u4e2d\uff0c\u6b63\u597d\u6709\u4e00\u4e2a\u662f odd\u3002<\/p>\n<p>\u4e5f\u5c31\u662f\uff1a<\/p>\n<pre><code class=\"language-text\">row_odd[r] XOR col_odd[c] == True<\/code><\/pre>\n<p>\u6709\u4e24\u79cd\u60c5\u51b5\u4f1a\u4ea7\u751f gold\uff1a<\/p>\n<ol>\n<li>\u884c\u662f odd\uff0c\u5217\u662f even<\/li>\n<li>\u884c\u662f even\uff0c\u5217\u662f odd<\/li>\n<\/ol>\n<p>\u6240\u4ee5 gold cell \u7684\u6570\u91cf\u662f\uff1a<\/p>\n<pre><code class=\"language-text\">R * (N - C) + (M - R) * C<\/code><\/pre>\n<p>\u7b2c\u4e00\u90e8\u5206 <code>R * (N - C)<\/code> \u8868\u793a\uff1a\u9009\u4e00\u6761 odd row\uff0c\u518d\u9009\u4e00\u6761 even column\u3002<\/p>\n<p>\u7b2c\u4e8c\u90e8\u5206 <code>(M - R) * C<\/code> \u8868\u793a\uff1a\u9009\u4e00\u6761 even row\uff0c\u518d\u9009\u4e00\u6761 odd column\u3002<\/p>\n<h2>\u7b97\u6cd5\u6b65\u9aa4<\/h2>\n<ol>\n<li>\u8bfb\u5165 <code>M<\/code>, <code>N<\/code>, <code>K<\/code>\u3002<\/li>\n<li>\u5efa\u7acb <code>row_odd<\/code> \u548c <code>col_odd<\/code>\u3002<\/li>\n<li>\u5bf9\u6bcf\u6b21\u64cd\u4f5c\uff1a<\/li>\n<\/ol>\n<ul>\n<li>\u5982\u679c\u662f <code>R x<\/code>\uff0c\u53cd\u8f6c <code>row_odd[x]<\/code>\u3002<\/li>\n<li>\u5982\u679c\u662f <code>C y<\/code>\uff0c\u53cd\u8f6c <code>col_odd[y]<\/code>\u3002<\/li>\n<\/ul>\n<ol>\n<li>\u7edf\u8ba1 odd rows \u7684\u6570\u91cf <code>R<\/code>\u3002<\/li>\n<li>\u7edf\u8ba1 odd columns \u7684\u6570\u91cf <code>C<\/code>\u3002<\/li>\n<li>\u7528\u516c\u5f0f\u8ba1\u7b97\u7b54\u6848\uff1a<\/li>\n<\/ol>\n<pre><code class=\"language-text\">R * (N - C) + (M - R) * C<\/code><\/pre>\n<h2>Python \u89e3\u6cd5<\/h2>\n<pre><code class=\"language-python\">M = int(input())\nN = int(input())\nK = int(input())\n\nrow_odd = [False] * (M + 1)\ncol_odd = [False] * (N + 1)\n\nfor _ in range(K):\n    brush_type, num = input().split()\n    idx = int(num)\n\n    if brush_type == &quot;R&quot;:\n        row_odd[idx] = not row_odd[idx]\n    else:\n        col_odd[idx] = not col_odd[idx]\n\nR = sum(row_odd)\nC = sum(col_odd)\n\ngold = R * (N - C) + (M - R) * C\nprint(gold)<\/code><\/pre>\n<p>\u4e5f\u53ef\u4ee5\u7528 set \u6765\u5199\u3002set \u91cc\u53ea\u4fdd\u7559\u88ab\u5237\u4e86\u5947\u6570\u6b21\u7684\u884c\u548c\u5217\uff1a<\/p>\n<pre><code class=\"language-python\">M = int(input())\nN = int(input())\nK = int(input())\n\nrows = set()\ncols = set()\n\nfor _ in range(K):\n    brush_type, num = input().split()\n    idx = int(num)\n\n    if brush_type == &quot;R&quot;:\n        if idx in rows:\n            rows.remove(idx)\n        else:\n            rows.add(idx)\n    else:\n        if idx in cols:\n            cols.remove(idx)\n        else:\n            cols.add(idx)\n\nR = len(rows)\nC = len(cols)\n\nprint(R * (N - C) + (M - R) * C)<\/code><\/pre>\n<h2>C++ \u89e3\u6cd5<\/h2>\n<pre><code class=\"language-cpp\">#include &lt;iostream&gt;\n#include &lt;vector&gt;\nusing namespace std;\n\nint main() {\n    int M, N, K;\n    cin &gt;&gt; M &gt;&gt; N &gt;&gt; K;\n\n    vector&lt;bool&gt; rowOdd(M + 1, false);\n    vector&lt;bool&gt; colOdd(N + 1, false);\n\n    for (int i = 0; i &lt; K; i++) {\n        char brushType;\n        int idx;\n        cin &gt;&gt; brushType &gt;&gt; idx;\n\n        if (brushType == &#x27;R&#x27;) {\n            rowOdd[idx] = !rowOdd[idx];\n        } else {\n            colOdd[idx] = !colOdd[idx];\n        }\n    }\n\n    long long R = 0;\n    long long C = 0;\n\n    for (int i = 1; i &lt;= M; i++) {\n        if (rowOdd[i]) R++;\n    }\n\n    for (int j = 1; j &lt;= N; j++) {\n        if (colOdd[j]) C++;\n    }\n\n    long long gold = R * (N - C) + (M - R) * C;\n    cout &lt;&lt; gold &lt;&lt; &quot;\\n&quot;;\n\n    return 0;\n}<\/code><\/pre>\n<h2>\u590d\u6742\u5ea6\u5206\u6790<\/h2>\n<p>\u6211\u4eec\u6ca1\u6709\u5efa\u7acb <code>M x N<\/code> \u7684 grid\u3002<\/p>\n<p>\u5904\u7406 <code>K<\/code> \u6b21\u64cd\u4f5c\u9700\u8981\uff1a<\/p>\n<pre><code class=\"language-text\">O(K)<\/code><\/pre>\n<p>\u7edf\u8ba1 odd rows \u548c odd columns \u9700\u8981\uff1a<\/p>\n<pre><code class=\"language-text\">O(M + N)<\/code><\/pre>\n<p>\u6240\u4ee5\u603b\u65f6\u95f4\u590d\u6742\u5ea6\u662f\uff1a<\/p>\n<pre><code class=\"language-text\">O(M + N + K)<\/code><\/pre>\n<p>\u7a7a\u95f4\u590d\u6742\u5ea6\u662f\uff1a<\/p>\n<pre><code class=\"language-text\">O(M + N)<\/code><\/pre>\n<p>\u5982\u679c\u7528 set\uff0c\u53ea\u5b58 odd \u7684\u884c\u548c\u5217\uff0c\u7a7a\u95f4\u53ef\u4ee5\u770b\u4f5c <code>O(number of odd rows + number of odd columns)<\/code>\u3002<\/p>\n<h2>\u5e38\u89c1\u9519\u8bef<\/h2>\n<ol>\n<li>\u5efa\u7acb\u6574\u5f20 <code>M x N<\/code> \u753b\u5e03\uff0c\u5bfc\u81f4\u5185\u5b58\u6216\u65f6\u95f4\u4e0d\u591f\u3002<\/li>\n<li>\u7edf\u8ba1\u5237\u4e86\u591a\u5c11\u6b21\uff0c\u4f46\u6700\u540e\u5fd8\u8bb0\u53ea\u770b\u5947\u5076\u6027\u3002<\/li>\n<li>\u628a\u540c\u4e00\u884c\u5237\u4e24\u6b21\u4ecd\u7136\u5f53\u6210 gold \u8d21\u732e\uff0c\u5176\u5b9e\u4e24\u6b21 toggle \u4f1a\u62b5\u6d88\u3002<\/li>\n<li>\u516c\u5f0f\u5199\u53cd\uff0c\u5fd8\u8bb0 gold \u662f\u201c\u884c\u548c\u5217\u6b63\u597d\u4e00\u4e2a odd\u201d\u3002<\/li>\n<li>C++ \u7528 <code>int<\/code> \u5b58\u7b54\u6848\uff0c\u53ef\u80fd\u5728\u5927\u6570\u636e\u4e0b\u6ea2\u51fa\u3002<\/li>\n<\/ol>\n<h2>\u590d\u4e60\u95ee\u9898<\/h2>\n<ol>\n<li>\u4e3a\u4ec0\u4e48\u4e00\u4e2a\u683c\u5b50\u7684\u6700\u7ec8\u989c\u8272\u53ea\u548c toggle \u6b21\u6570\u7684\u5947\u5076\u6027\u6709\u5173\uff1f<\/li>\n<li>\u4e3a\u4ec0\u4e48\u540c\u4e00\u884c\u5237\u4e24\u6b21\u7b49\u4e8e\u6ca1\u6709\u5237\uff1f<\/li>\n<li><code>R * (N - C)<\/code> \u8868\u793a\u54ea\u4e00\u7c7b gold cell\uff1f<\/li>\n<li><code>(M - R) * C<\/code> \u8868\u793a\u54ea\u4e00\u7c7b gold cell\uff1f<\/li>\n<li>\u4e3a\u4ec0\u4e48\u8fd9\u9898\u4e0d\u9700\u8981\u771f\u7684\u5efa\u7acb\u6574\u4e2a grid\uff1f<\/li>\n<\/ol>\n<\/article>\n<\/div>\n<section class=\"ati-feedback-cta ati-lang-en\" data-ati-feedback>\n<div class=\"ati-feedback-copy\">\n<p class=\"ati-feedback-title\">\u6709\u95ee\u9898\u6216\u5efa\u8bae\uff1f<\/p>\n<p class=\"ati-feedback-note\">\u5982\u679c\u4f60\u5bf9\u672c\u6587\u6709\u7591\u95ee\uff0c\u6216\u5e0c\u671b\u63d0\u51fa\u6539\u8fdb\u5efa\u8bae\uff0c\u8bf7\u7ed9\u6211\u4eec\u53d1\u9001\u79c1\u5bc6\u7559\u8a00\u3002<\/p>\n<\/div>\n<p>  <a class=\"ati-feedback-button\" href=\"\/zh_cn\/contact\/\" data-ati-feedback-link>\u53d1\u9001\u53cd\u9988<\/a><br>\n<\/p><\/section>\n<section class=\"ati-feedback-cta ati-lang-zh\" data-ati-feedback>\n<div class=\"ati-feedback-copy\">\n<p class=\"ati-feedback-title\">\u6709\u95ee\u9898\u6216\u5efa\u8bae\uff1f<\/p>\n<p class=\"ati-feedback-note\">\u5982\u679c\u4f60\u5bf9\u672c\u6587\u6709\u7591\u95ee\uff0c\u6216\u5e0c\u671b\u63d0\u51fa\u6539\u8fdb\u5efa\u8bae\uff0c\u8bf7\u7ed9\u6211\u4eec\u53d1\u9001\u79c1\u5bc6\u7559\u8a00\u3002<\/p>\n<\/div>\n<p>  <a class=\"ati-feedback-button\" href=\"\/zh_cn\/contact\/\" data-ati-feedback-link>\u53d1\u9001\u53cd\u9988<\/a><br>\n<\/p><\/section>\n<div class=\"ati-article-back ati-lang-en\">\n  <a href=\"\/zh_cn\/cp-weekly-challenge\/\">Back to CP Weekly Challenge<\/a>\n<\/div>\n<div class=\"ati-article-back ati-lang-zh\">\n  <a href=\"\/zh_cn\/cp-weekly-challenge\/\">\u8fd4\u56de CP \u6bcf\u5468\u7f16\u7a0b\u6311\u6218<\/a>\n<\/div>\n<\/article>\n<\/section>\n<p>    <\/p>\n<footer class=\"ati-footer\">\n      <a class=\"ati-brand ati-logo\" href=\"\/zh_cn\/\" aria-label=\"Accel Thinking home\"><img loading=\"lazy\" decoding=\"async\" height=\"63\" width=\"366\" src=\"https:\/\/i0.wp.com\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png?w=480&amp;quality=85&amp;ssl=1\" alt=\"Accel Thinking\"><\/a>\n<nav><a class=\"\" href=\"\/zh_cn\/\">\u9996\u9875<\/a><a class=\"\" href=\"\/zh_cn\/northstar\/\">\u5317\u6781\u661f<\/a><a class=\"\" href=\"\/zh_cn\/learning\/\">\u5b66\u4e60\u8def\u5f84<\/a><a class=\"active\" href=\"\/zh_cn\/resources\/\">\u8d44\u6e90\u6587\u7ae0<\/a><a class=\"\" href=\"\/zh_cn\/about\/\">\u5173\u4e8e\u6211\u4eec<\/a><a class=\"\" href=\"\/zh_cn\/contact\/\">\u8054\u7cfb\u6211\u4eec<\/a><a class=\"\" href=\"\/zh_cn\/privacy-policy\/\">\u9690\u79c1\u653f\u7b56<\/a><a class=\"\" href=\"\/zh_cn\/terms-and-conditions\/\">\u6761\u6b3e\u4e0e\u6761\u4ef6<\/a><\/nav>\n<address><a href=\"mailto:info@accelthinking.com\">info@accelthinking.com<\/a><a href=\"tel:+18556265066\">Toll-free: 1-855-626-5066<\/a><span>\u52a0\u62ff\u5927\u5b89\u5927\u7565\u7701\u5965\u514b\u7ef4\u5c14<\/span><\/address>\n<\/footer><\/div>\n<p><\/p>\n<style data-source=\"ati_article_share_tools\">\n\/* ati_article_bottom_gap_fix_20260919 *\/\n.entry-content>p:has(>script){display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;line-height:0!important}\n.ati-share-tools{margin:0 0 30px!important;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}\n.ati-share-tools p{margin:0!important}\n.ati-share-tools .ati-share-kicker{color:#b47c00!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em}\n.ati-share-note{margin-top:6px!important;color:#475569!important;font-size:15px!important;line-height:1.45!important}\n.ati-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}\n.ati-share-actions button,.ati-share-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a!important;font:inherit;font-size:13px;font-weight:900;line-height:1;cursor:pointer;text-decoration:none!important}\n.ati-share-actions button:hover,.ati-share-actions a:hover{border-color:#ffc400;background:#fff7d6}\n.ati-share-actions [data-share-copy-link],.ati-share-actions [data-share-native]{background:#ffc400;border-color:#ffc400;color:#050505!important}\n.ati-share-qr{display:flex;gap:14px;align-items:center;margin-top:16px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}\n.ati-share-qr[hidden]{display:none!important}.ati-share-qr img{width:118px;height:118px;border-radius:6px}.ati-share-qr p{color:#475569!important;font-size:14px!important;line-height:1.4!important}\n.ati-share-status{min-height:18px;margin-top:10px!important;color:#0f766e!important;font-size:13px!important;font-weight:800!important}\n@media(max-width:640px){.ati-share-actions button,.ati-share-actions a{width:100%}.ati-share-qr{align-items:flex-start}.ati-share-qr img{width:104px;height:104px}}\n<\/style>\n<p><script data-source=\"ati_article_share_tools\">\n(function(){\n  function text(isZh, en, zh){ return isZh ? zh : en; }\n  function copyText(value, status, message){\n    function done(){ if(status) status.textContent = message; }\n    function fallback(){\n      var input = document.createElement('textarea');\n      input.value = value;\n      input.setAttribute('readonly', '');\n      input.style.position = 'fixed';\n      input.style.left = '-9999px';\n      document.body.appendChild(input);\n      input.select();\n      try { document.execCommand('copy'); } catch(e) {}\n      document.body.removeChild(input);\n      done();\n    }\n    if (navigator.clipboard && navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(value).then(done).catch(fallback);\n    } else fallback();\n  }\n  document.querySelectorAll('[data-ati-share]').forEach(function(box){\n    if (box.dataset.ready) return;\n    box.dataset.ready = '1';\n    var isZh = location.pathname.toLowerCase().includes('\/zh_cn\/');\n    var pageUrl = location.origin + location.pathname;\n    var title = (document.querySelector('.ati-hero h1') || document.querySelector('h1'))?.innerText.trim() || document.title.replace(\/\\s+-\\s+.*$\/, '');\n    var status = box.querySelector('[data-share-status]');\n    var note = box.querySelector('.ati-share-note');\n    var kicker = box.querySelector('.ati-share-kicker');\n    var qrText = box.querySelector('.ati-share-qr p');\n    if (isZh) {\n      kicker.textContent = '\u5206\u4eab\u8fd9\u7bc7\u6587\u7ae0';\n      note.textContent = '\u590d\u5236\u94fe\u63a5\u3001\u8c03\u7528\u624b\u673a\u5206\u4eab\u9762\u677f\u3001\u7528\u5fae\u4fe1\u626b\u7801\uff0c\u6216\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u3002';\n      qrText.textContent = '\u7528\u5fae\u4fe1\u626b\u7801\u540e\uff0c\u53ef\u5c06\u6587\u7ae0\u94fe\u63a5\u8f6c\u53d1\u7ed9\u597d\u53cb\u6216\u7fa4\u804a\u3002';\n    }\n    var labels = {\n      '[data-share-native]': text(isZh, 'Share', '\u7cfb\u7edf\u5206\u4eab'),\n      '[data-share-copy-link]': text(isZh, 'Copy Link', '\u590d\u5236\u94fe\u63a5'),\n      '[data-share-wechat]': text(isZh, 'WeChat QR', '\u5fae\u4fe1\u4e8c\u7ef4\u7801')\n    };\n    Object.keys(labels).forEach(function(sel){ var el = box.querySelector(sel); if(el) el.textContent = labels[sel]; });\n    var email = box.querySelector('[data-share-email]');\n    if (email) email.href = 'mailto:?subject=' + encodeURIComponent(title) + '&body=' + encodeURIComponent(title + '\\n\\n' + pageUrl);\n    var qrImg = box.querySelector('[data-share-qr-img]');\n    if (qrImg) qrImg.src = 'https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=180x180&data=' + encodeURIComponent(pageUrl);\n    var nativeBtn = box.querySelector('[data-share-native]');\n    if (nativeBtn) nativeBtn.addEventListener('click', function(){\n      if (navigator.share) {\n        navigator.share({title:title, url:pageUrl}).catch(function(){});\n      } else {\n        copyText(pageUrl, status, text(isZh, 'Link copied. You can paste it into any app.', '\u94fe\u63a5\u5df2\u590d\u5236\uff0c\u53ef\u7c98\u8d34\u5230\u4efb\u610f\u5e94\u7528\u3002'));\n      }\n    });\n    var copyBtn = box.querySelector('[data-share-copy-link]');\n    if (copyBtn) copyBtn.addEventListener('click', function(){\n      copyText(pageUrl, status, text(isZh, 'Link copied.', '\u94fe\u63a5\u5df2\u590d\u5236\u3002'));\n    });\n    var qrBtn = box.querySelector('[data-share-wechat]');\n    if (qrBtn) qrBtn.addEventListener('click', function(){\n      var qr = box.querySelector('[data-share-qr]');\n      if (qr) qr.hidden = !qr.hidden;\n    });\n  });\n})();\n<\/script><\/p>\n<style data-source=\"ati_ccc_2021_j5_s2_modern_art_article_assets\">\n.ati-lang-zh{display:none!important}\nhtml[lang^=\"zh\"] .ati-lang-en,body.translatepress-zh_CN .ati-lang-en{display:none!important}\nhtml[lang^=\"zh\"] .ati-lang-zh,body.translatepress-zh_CN .ati-lang-zh{display:block!important}\nhtml[lang^=\"zh\"] section.ati-lang-zh,body.translatepress-zh_CN section.ati-lang-zh{display:grid!important}\nhtml[lang^=\"zh\"] .ati-feedback-cta.ati-lang-zh,body.translatepress-zh_CN .ati-feedback-cta.ati-lang-zh{display:flex!important}\n.ati-post-article pre{margin:18px 0 24px!important;padding:18px 20px!important;overflow:auto;border:1px solid #263244;border-radius:8px;background:#0f172a!important;color:#e5e7eb!important;font-size:14px!important;line-height:1.55!important}\n.ati-post-article pre code{display:block;padding:0!important;background:transparent!important;color:inherit!important;white-space:pre!important}\n.ati-post-article code{padding:.14em .34em;border-radius:4px;background:#eef2f7;color:#0f172a;font-size:.92em}\n.ati-post-article h3{margin:30px 0 12px!important;color:#0f172a!important;font-size:23px!important;font-weight:900!important;line-height:1.25!important}\n.ati-post-article ul,.ati-post-article ol{margin:12px 0 22px!important;padding-left:24px!important;color:#334155}\n.ati-post-article li{margin:8px 0!important;line-height:1.65!important}\n.ati-feedback-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:34px 0 24px;padding:22px 24px;border:1px solid #e2e8f0;border-left:4px solid #ffc400;border-radius:8px;background:#f8fafc}\n.ati-feedback-copy{min-width:0}\n.ati-feedback-cta p{margin:0!important}\n.ati-feedback-title{color:#0f172a!important;font-size:20px!important;font-weight:900!important;line-height:1.25!important}\n.ati-feedback-note{max-width:650px;margin-top:7px!important;color:#475569!important;font-size:15px!important;line-height:1.55!important}\n.ati-feedback-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:0 18px;border:1px solid #ffc400;border-radius:7px;background:#ffc400;color:#050505!important;font-size:14px;font-weight:900;text-decoration:none!important;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease}\n.ati-feedback-button:hover{border-color:#d69e00;background:#ffd84d;transform:translateY(-1px)}\n@media(max-width:700px){.ati-feedback-cta{align-items:stretch;flex-direction:column;padding:20px}.ati-feedback-button{width:100%}}\n<\/style>\n<p><script data-source=\"ati_ccc_2021_j5_s2_modern_art_zh_20260730\">\n(function(){\n  if (location.pathname.indexOf('\/zh_cn\/') === -1) return;\n  document.title = \"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u907f\u5f00\u6574\u5f20\u753b\u5e03 | \u52a0\u901f\u5ea6\u601d\u7ef4\";\n  document.querySelectorAll('.entry-title').forEach(function(el) { el.textContent = \"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff1a\u7528\u5947\u5076\u6027\u907f\u5f00\u6574\u5f20\u753b\u5e03\"; });\n})();\n<\/script><script data-source=\"ati_article_feedback_cta\">\n(function(){\n  var cta = document.querySelector('[data-ati-feedback]');\n  if (!cta) return;\n  var isZh = location.pathname.indexOf('\/zh_cn\/') !== -1;\n  var contactPath = isZh ? '\/zh_cn\/contact\/' : '\/contact\/';\n  var articleTitle = (document.querySelector('.entry-title') || document.querySelector('.ati-hero h1') || {}).textContent || document.title || '';\n  var link = cta.querySelector('[data-ati-feedback-link]');\n  if (link) {\n    link.href = contactPath + '?ati_source=article&article_title=' + encodeURIComponent(articleTitle.trim()) + '&article_url=' + encodeURIComponent(location.href.split('#')[0]) + '#wpforms-form-76';\n  }\n})();\n<\/script><\/p>\n<p><script data-source=\"ati_strategy_phase1_nav_20260712\">\n(function(){\n  var base = 'https:\/\/accelthinking.com';\n  var isZh = location.pathname.toLowerCase().includes('\/zh_cn\/');\n  var t = {\"Home\": \"\u9996\u9875\", \"NorthStar\": \"\u5317\u6781\u661f\u6d4b\u8bc4\", \"Learning\": \"\u5b66\u4e60\u8def\u5f84\", \"Resources\": \"\u8d44\u6e90\u6587\u7ae0\", \"About\": \"\u5173\u4e8e\u6211\u4eec\", \"Contact\": \"\u8054\u7cfb\u6211\u4eec\", \"Start NorthStar\": \"\u5f00\u59cb\u5317\u6781\u661f\u6d4b\u8bc4\", \"Privacy Policy\": \"\u9690\u79c1\u653f\u7b56\", \"Terms & Conditions\": \"\u6761\u6b3e\u4e0e\u6761\u4ef6\", \"Close\": \"\u5173\u95ed\"};\n  var path = location.pathname.toLowerCase();\n  if (path.slice(-1) !== '\/') path += '\/';\n  var basePath = new URL(base).pathname.toLowerCase();\n  if (!basePath || basePath === '\/') basePath = '\/';\n  else basePath = basePath.replace(\/\\\/?$\/, '\/');\n  var zhHomePath = basePath === '\/' ? '\/zh_cn\/' : basePath + 'zh_cn\/';\n  function item(label, href, key) {\n    var active = false;\n    if (key === 'home') active = path === basePath || path === zhHomePath;\n    if (key !== 'home') active = path.indexOf('\/' + key + '\/') !== -1;\n    if (key === 'northstar') {\n      active = active || path.indexOf('\/northstar-quick-assessment\/') !== -1 || path.indexOf('\/northstar-assessment\/') !== -1 || path.indexOf('\/northstar-report\/') !== -1;\n    }\n    if (key === 'learning') {\n      active = active || path.indexOf('\/cp-academy\/') !== -1 || path.indexOf('\/python-programming-pathway\/') !== -1 || path.indexOf('\/ai-literacy\/') !== -1 || path.indexOf('\/python-assessment\/') !== -1;\n    }\n    if (key === 'resources') {\n      active = active || path.indexOf('\/resources\/') !== -1 || document.body.classList.contains('single-post');\n    }\n    return '<a class=\"' + (active ? 'active' : '') + '\" href=\"' + href + '\">' + (isZh ? (t[label] || label) : label) + '<\/a>';\n  }\n  function primary() {\n    return [\n      item('Home', base + '\/', 'home'),\n      item('NorthStar', base + '\/northstar\/', 'northstar'),\n      item('Learning', base + '\/learning\/', 'learning'),\n      item('Resources', base + '\/resources\/', 'resources'),\n      item('About', base + '\/about\/', 'about'),\n      item('Contact', base + '\/contact\/', 'contact')\n    ].join('');\n  }\n  function mobile() {\n    return primary() + '<a class=\"ati-mobile-cta\" href=\"' + base + '\/northstar\/\">' + (isZh ? t['Start NorthStar'] : 'Start NorthStar') + '<\/a><a class=\"ati-mobile-close\" href=\"#\">' + (isZh ? t.Close : 'Close') + '<\/a>';\n  }\n  document.querySelectorAll('.ati-nav,.ns-nav').forEach(function(nav) { nav.innerHTML = primary(); });\n  document.querySelectorAll('.ati-mobile-panel,.ati-mobile-nav-panel').forEach(function(nav) { nav.innerHTML = mobile(); });\n  document.querySelectorAll('.ati-footer nav,.ns-footer nav').forEach(function(nav) {\n    nav.innerHTML = primary() + item('Privacy Policy', base + '\/privacy-policy\/', 'privacy-policy') + item('Terms & Conditions', base + '\/terms-and-conditions\/', 'terms-and-conditions');\n  });\n  document.querySelectorAll('.ati-footer address,.ns-footer address').forEach(function(address) {\n    address.innerHTML = '<a href=\"mailto:info@accelthinking.com\">info@accelthinking.com<\/a><a href=\"tel:+18556265066\">' + (isZh ? '\u514d\u8d39\u7535\u8bdd\uff1a1-855-626-5066' : 'Toll-free: 1-855-626-5066') + '<\/a><span>' + (isZh ? '\u52a0\u62ff\u5927\u5b89\u5927\u7565\u7701\u5965\u514b\u7ef4\u5c14' : 'Oakville, Ontario, Canada') + '<\/span>';\n  });\n  document.querySelectorAll('.ati-header-cta,.ns-header-cta').forEach(function(a) {\n    a.href = base + '\/northstar\/';\n    a.textContent = isZh ? t['Start NorthStar'] : 'Start NorthStar';\n  });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to solve Modern Art with parity, row and column toggling, and an O(M + N + K) counting formula in Python and C++.<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[7],"tags":[],"class_list":["post-1564","post","type-post","status-publish","format-standard","hentry","category-cp-weekly-challenge"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790<\/title>\n<meta name=\"description\" content=\"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790\" \/>\n<meta property=\"og:description\" content=\"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"Accel Thinking\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-29T13:50:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-03T19:12:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/accelthinking.com\/wp-content\/plugins\/accel-analytics\/assets\/accel-thinking-og.png\" \/>\n<meta name=\"author\" content=\"ATI Builder\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790\" \/>\n<meta name=\"twitter:description\" content=\"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/accelthinking.com\/wp-content\/plugins\/accel-analytics\/assets\/accel-thinking-og.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ATI Builder\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\"},\"author\":{\"name\":\"ATI Builder\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/#\\\/schema\\\/person\\\/bb7b104098a9c6c91f4fe54c4ab4a348\"},\"headline\":\"CCC 2021 J5\\\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790\",\"datePublished\":\"2026-08-29T13:50:30+00:00\",\"dateModified\":\"2026-10-03T19:12:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\"},\"wordCount\":978,\"image\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/accelthinking.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-dark-cropped-51.png\",\"articleSection\":[\"CP Weekly Challenge\"],\"inLanguage\":\"zh-CN\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\",\"url\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\",\"name\":\"CCC 2021 J5\\\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/accelthinking.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-dark-cropped-51.png\",\"datePublished\":\"2026-08-29T13:50:30+00:00\",\"dateModified\":\"2026-10-03T19:12:30+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/#\\\/schema\\\/person\\\/bb7b104098a9c6c91f4fe54c4ab4a348\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/accelthinking.com\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#breadcrumb\"},\"inLanguage\":\"zh-CN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#primaryimage\",\"url\":\"https:\\\/\\\/accelthinking.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-dark-cropped-51.png\",\"contentUrl\":\"https:\\\/\\\/accelthinking.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-dark-cropped-51.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/accelthinking.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CCC 2021 J5\\\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790\",\"item\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/ccc-2021-j5-s2-modern-art-solution-analysis\\\/\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/#website\",\"url\":\"https:\\\/\\\/accelthinking.com\\\/\",\"name\":\"Accel Thinking\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/accelthinking.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-CN\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/accelthinking.com\\\/#\\\/schema\\\/person\\\/bb7b104098a9c6c91f4fe54c4ab4a348\",\"name\":\"ATI Builder\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g\",\"caption\":\"ATI Builder\"},\"url\":\"https:\\\/\\\/accelthinking.com\\\/zh_cn\\\/author\\\/ati-builder\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","description":"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/","og_locale":"zh_CN","og_type":"article","og_title":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","og_description":"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002","og_url":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/","og_site_name":"Accel Thinking","article_published_time":"2026-08-29T13:50:30+00:00","article_modified_time":"2026-10-03T19:12:30+00:00","og_image":[{"url":"https:\/\/accelthinking.com\/wp-content\/plugins\/accel-analytics\/assets\/accel-thinking-og.png","type":"","width":"","height":""}],"author":"ATI Builder","twitter_card":"summary_large_image","twitter_title":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","twitter_description":"CCC 2021 J5\/S2 Modern Art \u9898\u89e3\uff0c\u8bb2\u89e3\u5947\u5076\u6027\u3001\u884c\u5217\u5207\u6362\uff0c\u4ee5\u53ca\u7528 O(M + N + K) \u516c\u5f0f\u7edf\u8ba1\u91d1\u8272\u683c\u5b50\u7684 Python\/C++ \u89e3\u6cd5\u3002","twitter_image":"https:\/\/accelthinking.com\/wp-content\/plugins\/accel-analytics\/assets\/accel-thinking-og.png","twitter_misc":{"Written by":"ATI Builder","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/#article","isPartOf":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/"},"author":{"name":"ATI Builder","@id":"https:\/\/accelthinking.com\/#\/schema\/person\/bb7b104098a9c6c91f4fe54c4ab4a348"},"headline":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","datePublished":"2026-08-29T13:50:30+00:00","dateModified":"2026-10-03T19:12:30+00:00","mainEntityOfPage":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/"},"wordCount":978,"image":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png","articleSection":["CP Weekly Challenge"],"inLanguage":"zh-CN"},{"@type":"WebPage","@id":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/","url":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/","name":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","isPartOf":{"@id":"https:\/\/accelthinking.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/#primaryimage"},"image":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png","datePublished":"2026-08-29T13:50:30+00:00","dateModified":"2026-10-03T19:12:30+00:00","author":{"@id":"https:\/\/accelthinking.com\/#\/schema\/person\/bb7b104098a9c6c91f4fe54c4ab4a348"},"breadcrumb":{"@id":"https:\/\/accelthinking.com\/ccc-2021-j5-s2-modern-art-solution-analysis\/#breadcrumb"},"inLanguage":"zh-CN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"zh-CN","@id":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/#primaryimage","url":"https:\/\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png","contentUrl":"https:\/\/accelthinking.com\/wp-content\/uploads\/2026\/06\/logo-dark-cropped-51.png"},{"@type":"BreadcrumbList","@id":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/accelthinking.com\/"},{"@type":"ListItem","position":2,"name":"CCC 2021 J5\/S2 Modern Art \u89e3\u9898\u4e0e\u5206\u6790","item":"https:\/\/accelthinking.com\/zh_cn\/ccc-2021-j5-s2-modern-art-solution-analysis\/"}]},{"@type":"WebSite","@id":"https:\/\/accelthinking.com\/#website","url":"https:\/\/accelthinking.com\/","name":"Accel Thinking","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/accelthinking.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-CN"},{"@type":"Person","@id":"https:\/\/accelthinking.com\/#\/schema\/person\/bb7b104098a9c6c91f4fe54c4ab4a348","name":"ATI Builder","image":{"@type":"ImageObject","inLanguage":"zh-CN","@id":"https:\/\/secure.gravatar.com\/avatar\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c77af32770dc7e2c3451795691a8d8e3e2d0c9faa5af72043c703fa202bdcd81?s=96&d=mm&r=g","caption":"ATI Builder"},"url":"https:\/\/accelthinking.com\/zh_cn\/author\/ati-builder\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/posts\/1564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/comments?post=1564"}],"version-history":[{"count":7,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/posts\/1564\/revisions"}],"predecessor-version":[{"id":1898,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/posts\/1564\/revisions\/1898"}],"wp:attachment":[{"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/media?parent=1564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/categories?post=1564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/accelthinking.com\/zh_cn\/wp-json\/wp\/v2\/tags?post=1564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}