A
简单题, 输出 8n 和 9n 即可
因为 8n 是 8 的倍数, 9n 是 9 的倍数
而 9n-8n=n 成立
- #include <iostream>
- #include <cstdio>
- using namespace std;
- int main(){
- int n;
- cin>> n;
- printf("%d %d\n",9 * n, 8 * n);
- return 0;
- }
- B
给出两个 n 长的序列和一个 m
\((a_{i}+x) %m = b_{p}\)
这题我失误了, 竟然在 for i 里面加了个 for i, 太傻了
还有就是我的操作是用 b 的每个值比较 a[0] 进行求解, 然后我特么又傻了, 竟然写成了 a[i]
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <algorithm>
- #include <vector>
- #define ll long long
- using namespace std;
- const int maxn = 2e3+5;
- const int inf = 1e9 + 66555;
- int a[maxn];
- int b[maxn];
- int c[maxn];
- int n,m;
- bool check(int *a,int *b){//O(nlogn)
- sort(a,a+n);
- for(int i = 0; i <n; i++){
- if(a[i] != b[i]){
- return 0;
- }
- }
- return 1;
- }
- int main(){
- cin>> n>> m;
- for(int i = 0; i <n; i++)scanf("%d",&a[i]);
- for(int i = 0; i < n; i++)scanf("%d",&b[i]);
- int ans = inf;
- sort(b,b+n);
- for(int i = 0; i < n; i++){
- int t;
- if(b[i]> a[0])t = b[i] - a[0];
- else t = m + b[i] - a[0];
- for(int j = 0; j <n; j++){
- c[j] = (a[j] + t) % m;
- }
- if(check(c,b)){
- ans = min(ans,t);
- }
- }
- cout << ans % m << endl;
- return 0;
- }
- C
这题就是只需要变前 k 个就行了
如果有前 k 个组成的 n/k 个 k 数的数组小于之前的, 那么把最后一个数也就是 a[k] 加一
然后考虑进位的问题 (我被 hack 在这里)
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <vector>
- #define ll long long
- using namespace std;
- const int maxn = 2e5 + 5;
- const int inf = 0x3f3f3f3f;
- char a[maxn];
- char z[maxn];
- int n,k;
- void change(){
- if(z[k] == '9'){
- z[k - 1]++;
- z[k] = '0';
- int i = k - 1;
- while(z[i]==':'){
- z[i - 1]++;
- z[i] = '0';
- i--;
- }
- }else{
- z[k]++;
- }
- int cnt = 1;
- for(int i = 1; i <= n; i++){
- if(cnt == k + 1)cnt = 1;
- z[i] = z[cnt++];
- }
- }
- int main(){
- cin>> n>> k;
- scanf("%s",a + 1);
- int cnt = 1;
- for(int i = 1; i <= n; i++){
- if(cnt == k + 1)cnt = 1;
- z[i] = a[cnt++];
- }
- int zz = strcmp(z + 1, a + 1);
- if(zz < 0){
- change();
- }
- printf("%d\n",n);
- printf("%s\n",z + 1);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3344044.html