"""本主题专属离线算法，仅读取同目录合成JSON，不联网、不控制设备。"""
import csv, json, math, re, struct
from pathlib import Path
from fractions import Fraction
BASE=Path(__file__).resolve().parent
data=json.loads((BASE/'input.json').read_text(encoding='utf-8'))['data']
rows=[]
for name,pages in data['cases'].items():
 lasts={p['last_page'] for p in pages};seen={p['page'] for p in pages}
 valid=all(0<=p['page']<=p['last_page'] and len(p['universes'])<=512 and all(1<=u<=63999 for u in p['universes']) for p in pages)
 if len(lasts)!=1 or not valid:rows.append({'case':name,'state':'conflict','reason':'页范围或Last Page不一致'});continue
 missing=sorted(set(range(next(iter(lasts))+1))-seen)
 if missing:rows.append({'case':name,'state':'pending','missing_pages':missing});continue
 merged=[u for p in sorted(pages,key=lambda x:x['page']) for u in p['universes']]
 assert len(merged)==len(set(merged)) and merged==sorted(merged)
 rows.append({'case':name,'state':'complete','count':len(merged),'first':merged[0],'last':merged[-1]})
assert [r['state'] for r in rows]==['complete','pending','conflict'] and rows[0]['count']==513
result={'cases':rows,'real_discovery_performed':False}
(BASE/'result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
print(json.dumps(result,ensure_ascii=False))
