蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】

这篇具有很好参考价值的文章主要介绍了蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 点击跳转专栏=>Unity3D特效百例
  • 点击跳转专栏=>案例项目实战源码
  • 点击跳转专栏=>游戏脚本-辅助自动化
  • 点击跳转专栏=>Android控件全解手册
  • 点击跳转专栏=>Scratch编程案例
  • 点击跳转=>软考全系列
  • 点击跳转=>蓝桥系列

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单

蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】

👉实践过程

需要所有整理的文档可底部卡片联系我,直接发压缩包。

😜完美的代价

问题描述
  回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。
  交换的定义是:交换两个相邻的字符
  例如mamad
  第一次交换 ad : mamda
  第二次交换 md : madma
  第三次交换 ma : madam (回文!完美!)
输入格式
  第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)
  第二行是一个字符串,长度为N.只包含小写字母
输出格式
  如果可能,输出最少的交换次数。
  否则输出Impossible
样例输入
5
mamad
样例输出
3

#include <stdio.h>

void swap(char* a, char* b)
{
    char c = *a;
    *a = *b;
    *b = c;
}

int find(char* p, char* q)
{
    char* o = q - 1;
    while (o > p && *o != *p) o--;
    return o - p;
}

int rfind(char*p, char* q)
{
    char* o = q + 1;
    while (o < p && *o != *p) o++;
    return p - o;
}

int main()
{
    int i, j, k, len, count[26] = {0};
    char str[8000];
    scanf("%d", &len);
    scanf("%s", str);
    for (i = 0; i < len; i++)
        count[str[i]-'a']++;
    int odd = 0;
    for (i = 0; i < 26; i++)
        if (count[i] % 2 == 1)
            odd++;
    if (odd <= 1)
    {
        int change = 0;
        for (i = 0; i < len / 2; i++)
        {
            if (count[str[i]-'a'] == 1)
                break;
            count[str[i]-'a'] -= 2;
            k = find(str + i, str + len - i);
            for (j = i + k; j < len - i - 1; j++)
            {
                swap(str + j, str + j + 1);
                change++;
            }
        }
        if (i != len / 2)
        {
            for (i = len - i - 1; i > len / 2; i--)
            {
                k = rfind(str + i, str + len - i - 1);
                for (j = i - k; j > len - i - 1; j--)
                {
                    swap(str + j, str + j - 1);
                    change++;
                }
            }
        }
        printf("%d", change);
    }
    else
    {
        printf("Impossible");
    }
    return 0;
}

😜芯片测试

问题描述
  有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。
  每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。
  给出所有芯片的测试结果,问哪些芯片是好芯片。

输入格式
  输入数据第一行为一个整数n,表示芯片个数。
  第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。

输出格式
  按从小到大的顺序输出所有好芯片的编号

样例输入
3
1 0 1
0 1 0
1 0 1
样例输出
1 3

#include <stdio.h>

int main()
{
    int i, j, k, l, n, a[20][20], b[20] = {0}, c[20] = {0};
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            scanf("%d", &a[i][j]);
    l = 1;
    for (i = 0; i < n; i++)
    {
        if (b[i] != 0)
            continue;
        b[i] = l++;
        for (j = i + 1; j < n; j++)
        {
            if (b[j] != 0)
                continue;
            for (k = 0; k < n; k++)
                if (a[i][k] != a[j][k])
                    break;
            if (k == n)
                b[j] = b[i];
        }
    }
            
    int max = 0;
    for (i = 0; i < n; i++)
        c[b[i]]++;
    for (i = 0; i < l; i++)
        if (c[max] < c[i])
            max = i;
    for (i = 0; i < n; i++)
        if (max == b[i])
            printf("%d ", i + 1);  
     
    return 0;
}

😜序列求和

问题描述
求1+2+3+…+n的值。

输入格式
输入包括一个整数n。

输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。

样例输入
4
样例输出
10

样例输入
100
样例输出
5050

数据规模与约定
1 <= n <= 1,000,000,000。

#include <stdio.h>

int main()
{
    long long n, sum;
    scanf("%I64d", &n);
    sum = (n + 1) * n / 2;
    printf("%I64d", sum);
    return 0;
}

😜杨辉三角形

问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
  
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出它的前n行。

输入格式
输入包含一个数n。

输出格式
输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。

样例输入
4
样例输出
1
1 1
1 2 1
1 3 3 1

数据规模与约定
1 <= n <= 34。

#include <stdio.h>

int main()
{
    int i, j, n, a[34][34];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        a[i][0] = 1;
        a[i][i] = 1; 
        for (j = 1; j < i; j++)
            a[i][j] = a[i-1][j-1] + a[i-1][j];
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j <= i; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    return 0;
}

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】文章来源地址https://www.toymoban.com/news/detail-514858.html

到了这里,关于蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯专题-试题版-【地宫取宝】【斐波那契】【波动数列】【小朋友排队】

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 点击跳转=软考全系列 点击跳转=蓝桥系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、

    2024年02月11日
    浏览(58)
  • 蓝桥杯专题-试题版-【龟兔赛跑预测】【回形取数】【阶乘计算】【矩形面积交】

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 点击跳转=软考全系列 点击跳转=蓝桥系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、

    2024年02月11日
    浏览(45)
  • 蓝桥杯专题-试题版-【01字符串】【2n皇后问题】【A+B问题】【Fibonacci数列】

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 点击跳转=软考全系列 点击跳转=蓝桥系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、

    2024年02月11日
    浏览(44)
  • (蓝桥杯第十一届决赛)试题D:本质上升序列(动态规划)

    先把题目中的字符串给出来:tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhfiadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqijgihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmadvrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl 分析:虽然这只是一道填空题,但是我觉得这个还是有一定的思考意义的,所以我今天就把他

    2023年04月09日
    浏览(50)
  • 微机原理 || 第3次测试:第八章-常用接口芯片8255&8253(测试题+手写解析)

    一直没有学明白8253和8255芯片,觉得后面难,其实看懂后,就是照着表格去对应填写, 知道地址怎么回事就没问题哒~ 相信你 😘 对应练习部分:测试1-5题足够考试滴~~~  更多8253练习见如下笔记哦~ 微机原理 || 8253接口芯片知识点+4道经典例题+手写解题过程_MSY~学习日记分享

    2024年02月10日
    浏览(43)
  • [蓝桥杯 2018 国 B] 矩阵求和

    经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。 今天小明的任务是填满这么一张表: 表有 n 行 n 列,行和列的编号都从 1 算起。 其中第 ii 行第 jj 个元素的值是 gcd(i,j) 的平方,gcd 表示最大公约数,以下是这个表的前四行的前四列: 小明突然冒出一个

    2024年02月08日
    浏览(38)
  • 蓝桥杯练习第一天--求和、灭鼠先锋

    1、求和 问题描述 给定 nn 个整数 a_1, a_2, · · · , a_na1​,a2​,⋅⋅⋅,an​ ,求它们两两相乘再相加的和,即: S=a_{1} cdot a_{2}+a_{1} cdot a_{3}+cdots+a_{1} cdot a_{n}+a_{2} cdot a_{3}+cdots+a_{n-2} cdot a_{n-1}+a_{n-2} cdot a_{n}+a_{n-1} cdot a_{n}S=a1​⋅a2​+a1​⋅a3​+⋯+a1​⋅an​+a2​⋅a3​+⋯

    2023年04月09日
    浏览(34)
  • 冲刺十五届蓝桥杯P0001阶乘求和

    阶乘是蓝桥杯中常考的知识。 首先我们需要知道 int 和long的最大值是多少。 我们可以知道19的阶乘就已经超过了long的最大值,所以让我们直接计算202320232023!的阶乘是不现实的。 所以我们需要突破题目的限制,看透问题。 首先需要知道的一点,n!的末尾想要有0,中间一定

    2024年02月07日
    浏览(39)
  • 洛谷P8772 [蓝桥杯 2022 省 A] 求和 C语言/C++

    给定 n n n 个整数 a 1 , a 2 , ⋯   , a n a_{1}, a_{2}, cdots, a_{n} a 1 ​ , a 2 ​ , ⋯ , a n ​ , 求它们两两相乘再相加的和,即 S = a 1 ⋅ a 2 + a 1 ⋅ a 3 + ⋯ + a 1 ⋅ a n + a 2 ⋅ a 3 + ⋯ + a n − 2 ⋅ a n − 1 + a n − 2 ⋅ a n + a n − 1 ⋅ a n S=a_{1} cdot a_{2}+a_{1} cdot a_{3}+cdots+a_{1} cdot a_{n}+a_{2}

    2023年04月14日
    浏览(36)
  • 离散数学及应用 -- 02 基本结构:集合、函数、序列、求和与矩阵

    目录 集合 集合运算 函数(映射、变换) 序列 求和 ​编辑集合的基数 矩阵 集合是对象的一个无序的聚集,对象也称为集合的元素或成员。集合包含它的元素。         ∈A:a是集合A中一个元素         ∉A:a是集合A中一个元素 描述集合的方式:         花名册方

    2024年02月01日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包