L2-1 特立独行的幸福

📅 发布时间:2026/7/6 1:23:42 👁️ 浏览次数:
L2-1 特立独行的幸福
#includebits/stdc.h using namespace std; //素数判定 bool isprime(int n) { if (n 2) return false; if (n % 2 0) return n 2; for (int d 3; d * d n; d 2) if (n % d 0) return false; return true; } int main(){ int n,m; if(!(cinnm)) return 0; mapint,int mp;//幸福树、独立性 mapint,vectorint mpp; for(int i n;im;i){ string j to_string(i); int sum 0; vectorint res; while(sum!1){ sum 0; for(size_t h 0;hj.size();h) { sum (j[h]-0)*(j[h]-0); } // coutsumendl; if(find(res.begin(),res.end(),sum)!res.end()) break; res.push_back(sum); j to_string(sum); } if(sum 1) { mpp[i] res; if(isprime(i))mp[i] res.size()*2; else mp[i]res.size(); } } for(autox:mpp){ for(autoy:x.second){ if(mp.find(y)!mp.end()) mp.erase(y); } } if(mp.empty()) { coutSAD; return 0; } for(autox:mp){ coutx.first x.secondendl; } return 0; }