CF 999 div3

A

从左往右扫一遍统计答案,如果等于n就输出n,否则再从右往左扫一遍,再原来的答案上累加答案

#include <iostream>
#include <cstdio>
using namespace std;
int a[105], n, k;
int main() {
    cin >> n >> k;
    for (int i = 1; i <= n; ++i) cin >> a[i];
    int ans = 0;
    for (int i = 1; i <= n; ++i) {
        if (a[i] <= k) ++ans;
        else break;
    }
    if (ans == n) {
        cout << n << endl;
        return 0;
    }
    for (int i = n; i >= 1; --i) {
        if (a[i] <= k) ++ans;
        else break;
    }
    cout << ans << endl;
    return 0;
}

B

扫一遍,如果能被n整除,那就翻转从1到这里的整个区间

#include <iostream>
using namespace std;
int main(){
    int n;
    string s;
    cin>>n>>s;
    for(int i=1;i<=n;i++)
        if(n%i==0)
            for(register int j=0;j<i/2;j++) {
                char temp=s[j];
                    s[j]=s[i-j-1];
                    s[i-j-1]=temp;
            }
    cout<<s<<endl;
    return 0;
}

C

猜你喜欢

转载自www.cnblogs.com/lyt020321/p/11515958.html
今日推荐