Add Modulo 10(数论,思维,数学,规律)

思路:找规律
情况一: 尾数为5或0

为5时进行一次操作变成0的情况。
而尾数是 0 时操作无意义,所有数必须相等。
情况二:尾数为 1,3,7,9
可进行一次操作变成情况三。
情况三:尾数为 2,4,6,8
我们通过找规律发现:

2481622 48162224 612141826 816222428

 

每个数可以转换为它自己 +20 的数,我们可以让每个数加足够多的 20,所以不妨 mod20 再进行比较。

而我们把尾数统一(比如都变成 2)之后,2 和 12 再也不能变成相同的了,所以这时全相等就相当于符合要求。

可以开set来进行判断:

复制代码
//Add Modulo 10:https://www.luogu.com.cn/problem/CF1714E #include<bits/stdc++.h> using namespace std; const int N=2e5+10; int res,n,m,k,t; set<int>s; int main() { cin>>t; while(t--){ cin>>n; s.clear(); for(int i=0;i<n;i++){ cin>>k; if(k%2) k=k+k%10; if(k%10) k=k%20; s.insert(k); } set<int>p; for(auto i:s) { if(i%10!=0){ if(i%10==4) i=(i+18)%20; else if(i%10==6) i=(i+6)%20; else if(i%10==8) i=(i+14)%20; } p.insert(i); } if(p.size()==1) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
复制代码

 


__EOF__

本文作者Sakurajimamai
本文链接https://www.cnblogs.com/o-Sakurajimamai-o/p/17493244.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   o-Sakurajimamai-o  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
-- --
点击右上角即可分享
微信分享提示