『ACM C++』 PTA 天梯赛练习集L1 | 048-49
今日刷题048-049
------------------------------------------------L1-048----------------------------------------------------------
L1-048 矩阵A乘以B
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。
输入格式:
输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。
输出格式:
若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输出Error: Ca != Rb
,其中Ca
是A的列数,Rb
是B的行数。
输入样例1:
- - - - -
输出样例1:
输入样例2:
- -
- -
输出样例2:
- Error: !=
------------------------------------------------L1-048----------------------------------------------------------
注解:难度不大,线代的基本运算,注意特判就好了。
- #include<stdio.h>
- int Ra,Ca,Rb,Cb,sum;
- int A[][];
- int B[][];
- int main()
- {
- scanf("%d %d",&Ra,&Ca);
- for(int i = ;i<=Ra;i++)
- for(int u = ;u<=Ca;u++)
- scanf("%d",&A[i][u]);
- scanf("%d %d",&Rb,&Cb);
- for(int i = ;i<=Rb;i++)
- for(int u =;u<=Cb;u++)
- scanf("%d",&B[i][u]);
- if(Ca!=Rb) printf("Error: %d != %d\n",Ca,Rb);
- else
- {
- printf("%d %d\n",Ra,Cb);
- for(int i = ;i<=Ra;i++)
- {
- for(int j = ;j<=Cb;j++)
- {
- sum = ;
- for(int u = ;u<=Rb;u++) sum+= A[i][u]*B[u][j];
- printf("%d",sum);
- if(j!=Cb) printf(" ");
- }
- printf("\n");
- }
- }
- return ;
- }
------------------------------------------------L1-049----------------------------------------------------------
L1-049 天梯赛座位分配
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程序,自动为各校生成队员的座位号,从 1 开始编号。
输入格式:
输入在一行中给出参赛的高校数 N (不超过100的正整数);第二行给出 N 个不超过10的正整数,其中第 i 个数对应第 i 所高校的参赛队伍数,数字间以空格分隔。
输出格式:
从第 1 所高校的第 1 支队伍开始,顺次输出队员的座位号。每队占一行,座位号间以 1 个空格分隔,行首尾不得有多余空格。另外,每所高校的第一行按“#X”输出该校的编号X,从 1 开始。
输入样例:
输出样例:
- #
- #
- #
------------------------------------------------L1-049----------------------------------------------------------
注解:这题有点小烧脑,关是输出排序就是一个问题。注意一下输出的格式转换。
- #include<stdio.h>
- int times,total,count = ,Temp = ;
- int uni[];
- int unio[];
- int write[][];
- int main()
- {
- scanf("%d",×);
- for(int i = ;i<times;i++)
- {
- scanf("%d",&uni[i]);
- uni[i]*=;
- unio[i] = uni[i];
- total+=uni[i];
- }
- while()
- {
- for(int i = ;i<times;i++)
- {
- if(uni[i] == ) continue;
- // printf("%d--------%d\n",write[i][uni[i] + 1],count);
- if(write[i][uni[i] + ] == (count - ) && write[i][uni[i]+] != )
- {
- count++;
- continue;
- }
- write[i][uni[i]] = count;
- count++;
- uni[i]--;
- }
- int ans = ;
- for(int i = ;i<times;i++) if(uni[i] != ) ans = ;
- if(ans == ) break;
- }
- for(int i = ;i<times;i++)
- {
- printf("#%d\n",i+);
- for(int u = unio[i];u>;u--)
- {
- printf("%d",write[i][u]);
- if(u%== && u != unio[i]) printf("\n");
- else printf(" ");
- }
- }
- return ;
- }
注:如果有更好的解法,真心希望您能够评论留言贴上您的代码呢~互相帮助互相鼓励才能成长鸭~~
『ACM C++』 PTA 天梯赛练习集L1 | 048-49的更多相关文章
- 『ACM C++』 PTA 天梯赛练习集L1 | 001-006
应师兄要求,在打三月底天梯赛之前要把PTA上面的练习集刷完,所以后面的时间就献给PTA啦~ 后面每天刷的题都会把答案代码贡献出来,如果有好的思路想法也会分享一下~ 欢迎大佬提供更好的高效率算法鸭~ - ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 052-053
今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 040-41
近期安排 校赛3.23天梯赛3.30华工校赛 4.21省赛 5.12 ------------------------------------------------L1-040----------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 021-024
忙疯警告,这两天可能进度很慢,下午打了一下午训练赛,训练赛的题我就不拿过来的,pta就做了一点点,明天又是满课的一天,所以进度很慢啦~ -------------------------------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 007-011
真的是忙头晕了,学业.ACM打题.班级活动.自学新东西,哇这充实的大学~ ------------------------------------------------L1-007--------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 044-45
记录今日刷题 ------------------------------------------------L1-044--------------------------------------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 042-43
记录刷题情况 ------------------------------------------------L1-042--------------------------------------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 036-037
这几天比较忙,所以随便做做水题了,得赶紧把英剧搞完啊啊啊啊啊啊 ------------------------------------------------L1-036-------------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 029-033
哈哈,今天开始我也是学车人了~ 开始一千多道疯狂刷题~ ------------------------------------------------L1-029------------------ ...
随机推荐
- HTML 简单日历制作方法
新手一枚,不会写什么高大上的博文,一些平时做的小练习,献丑 <!doctype html> <html> <head> <meta charset=" ...
- canvas合成图片 圣诞节新技能戴帽
<!doctype html><html><head><meta charset="utf-8"><title>Html ...
- 001服务注册与发现Eureka
1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka Server依赖和Spring Cloud依赖管理 <dependencies> <!--添加Eurek ...
- 动画演示10个有趣但毫无用处的Linux命令
Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了.在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话.你 ...
- TE7下的创建组件AxHost失败
问题比较诡异.时好时坏的.网上的办法试过了,没用. 最后的解决办法是,把项目属性切换到Any CPU,然后勾选 32位优先,切换到界面设计状态,拖放控件,OK:运行,会出现红色提示:再次切换到项目属性 ...
- C语言string.h中常用字符函数介绍
原文:http://www.cnblogs.com/xuwenmin888/archive/2013/05/03/3057883.html strcpy 函数名: strcpy 功 能: 拷贝一个字符 ...
- 数组sort()方法排序
sort()方法排序 var arr = ["G","A","C","B","I","H& ...
- flask框架下的jinja2模板引擎(1)(模板渲染)
#转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...
- Qt 资料大全
https://blog.csdn.net/liang19890820/article/details/51752029 简述 发福利了.发福利了.发福利了,重要的事情说三遍... 为了方便更多Qte ...
- Http重要知识点