CSDN第24期周赛(记录一下)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

▶ 爱要坦荡荡 (163.com)

每一道题都有思路可是只有一道Accepted100%一道很简单的50%一道输出错误10%并报错Segmentation Fault一道字符串有思路但是没时间了

一蛇皮矩阵  Accepted 10%

报错Segmentation Fault

可能是每行后,多输出了空格

#include<iostream>
using namespace std;
int a[110][110];
int main()
{
    a[0][0] = 1;
    int n;
    cin>>n;
    int row = 0, col = 0, m = 1;

    //到达最后一行前
    while(1) {
        //向右
        a[row][++col] = ++m;
        //左下
        while(col)
            a[++row][--col] = ++m;
        //向下
        a[++row][col] = ++m;
        //右上
        while(row)
            a[--row][++col] = ++m;
        if(row == n - 1)
            break;
    }
    //到达最后一行后开始右下部分输出
    while(!a[n - 1][n - 1]) {
        //向右
        a[row][++col] = ++m;
        //右上
        if(col != n - 1)
            a[--row][++col] = ++m;
        //向下
        a[++row][col] = ++m;
        //左下
        if(row != n - 1)
            a[++row][--col] = ++m;
    }
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < n; ++j)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

二货车司机  Accepted 50%

这题真的非常简单1分钟找思路2分钟敲出来后悔没有回去仔细想想

每辆货车装K件货物共有N件货物问需要多少量车但司机有个怪癖不喜欢13这个数字就是每辆货车装的货物不能是13

第10行犯了个低级错误,把N / 12 改成 N / 13就好了

#include<iostream>
using namespace std;
int main()
{
    int N, K, ans = 0;
    while(cin>>N>>K) {
        if(N == 13)
            ans = max(N / K + 1, 2);
        if(K == 13)
            ans = N / 12 + 1;
        if(N != 13 && K != 13)
            ans = N / K + 1;
        cout<<ans<<endl;
    }
    return 0;
}

三求1 ~ n出现多少次x  Accepted 100%

#include<iostream>
using namespace std;
int main()
{
    int n, x;
    cin>>n>>x;
    int ans = 0;
    for(int i = 1; i <= n; ++i) {
        int k = i;
        if(k == x)
            ans++;
        while(k / 10 != 0) {
            if(k % 10 == x)
                ans++;
            k /= 10;
            if(k == x)
                ans++;
        }

    }
    cout<<ans<<endl;
    return 0;
}
11 1
4

四字符串  Accepted 0%

输入k和一串字符串

1字符串包括已知部分和未知部分未知部分用?代替

2k表示字符串只能有前k个小写字母

3且每个字母最少出现一次

4必须为回文串

4回文串写个bool回文函数就好

2前k用a[i] - 'a' + 1 >=  1 && a[i] - 'a' + 1 <= k

3只能出现一次用b[i]标记出现过的字母

1这个的判断还没想清楚。。

总结

慢慢学会一题多解,一道题以前会了,可换种思路或者加点细节要求呢,还有就是细心

好歹一次有一次的进步等再熟练点就不止在CSDN的比赛练手了

先学完《啊哈算法》发育到4级

再在CSDN参加周赛每次起码75分以上发育到装备出完

期间打打野对着算法标签去各种网站刷简单题

最后带线摧毁敌方防御塔(蓝桥杯省二)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6