E. Add Modulo 10(规律)
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了E. Add Modulo 10(规律)相关的知识,希望对你有一定的参考价值。
E. Add Modulo 10(规律)
可以看出末位为1、3、6、7、9 最终会进入到2、4、8、6的循环。
2 + 4 + 8 + 6 = 20 2+4+8+6=20 2+4+8+6=20,这个周期的长度为20。
对于末位 5 , 0 5,0 5,0 最终会变成末位为0。
因此分两种情况: 0 、 2 0、2 0、2。
先把第一种情况末位变成为2,然后模20,第二种情况就变成末位为0,不取模。
然后比较 n n n个数是否相同。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
ios_base::sync_with_stdio(0);
cin.tie(0);
int t; cin >> t;
while(t--)
int n; cin >> n;
vector<int> a(n);
// 2 0
for (int i = 0; i < n; i++)
cin >> a[i];
while(a[i]%10 != 2 && a[i]%10 != 0)
a[i] += a[i]%10;
if(a[i]%10 == 2)
a[i] %= 20;
cout << (a == vector(n, a[0]) ? "Yes\\n":"No\\n");
return 0;
以上是关于E. Add Modulo 10(规律)的主要内容,如果未能解决你的问题,请参考以下文章
2019 计蒜之道 复赛 E. 撑起信息安全“保护伞” (贪心,构造,规律)
Educational Codeforces Round 47 (Rated for Div. 2) :E. Intercity Travelling