今日刷题048-049

------------------------------------------------L1-048----------------------------------------------------------

L1-048 矩阵A乘以B

给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有R​a​​行、C​a​​列,B有R​b​​行、C​b​​列,则只有C​a​​与R​b​​相等时,两个矩阵才能相乘。

输入格式:

输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。

输出格式:

若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输出Error: Ca != Rb,其中Ca是A的列数,Rb是B的行数。

输入样例1:

2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8

输出样例1:

2 4
20 22 24 16
53 58 63 28

输入样例2:

3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72

输出样例2:

Error: 2 != 3

------------------------------------------------L1-048----------------------------------------------------------

注解:难度不大,线代的基本运算,注意特判就好了。

#include<stdio.h>int Ra,Ca,Rb,Cb,sum;
int A[9999][9999];
int B[9999][9999];
int main()
{scanf("%d %d",&Ra,&Ca);for(int i = 1;i<=Ra;i++)for(int u = 1;u<=Ca;u++)scanf("%d",&A[i][u]);scanf("%d %d",&Rb,&Cb);for(int i = 1;i<=Rb;i++)for(int u =1;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 = 1;i<=Ra;i++){for(int j = 1;j<=Cb;j++){sum = 0;for(int u = 1;u<=Rb;u++) sum+= A[i][u]*B[u][j];printf("%d",sum);if(j!=Cb) printf(" ");}printf("\n");}}return 0;
}

------------------------------------------------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 开始。

输入样例:

3
3 4 2

输出样例:

#1
1 4 7 10 13 16 19 22 25 28
31 34 37 40 43 46 49 52 55 58
61 63 65 67 69 71 73 75 77 79
#2
2 5 8 11 14 17 20 23 26 29
32 35 38 41 44 47 50 53 56 59
62 64 66 68 70 72 74 76 78 80
82 84 86 88 90 92 94 96 98 100
#3
3 6 9 12 15 18 21 24 27 30
33 36 39 42 45 48 51 54 57 60

------------------------------------------------L1-049----------------------------------------------------------

注解:这题有点小烧脑,关是输出排序就是一个问题。注意一下输出的格式转换。

#include<stdio.h>int times,total,count = 1,Temp = 0;
int uni[101];
int unio[101];
int write[101][101];
int main()
{scanf("%d",&times);for(int i = 0;i<times;i++){scanf("%d",&uni[i]);uni[i]*=10;unio[i] = uni[i];total+=uni[i];}while(1){    for(int i = 0;i<times;i++){if(uni[i] == 0) continue;
//            printf("%d--------%d\n",write[i][uni[i] + 1],count);if(write[i][uni[i] + 1] == (count - 1) && write[i][uni[i]+1] != 0){count++;continue;}write[i][uni[i]] = count;count++;uni[i]--;}int ans = 0;for(int i = 0;i<times;i++) if(uni[i] != 0) ans = 1;if(ans == 0) break;}for(int i = 0;i<times;i++){printf("#%d\n",i+1);for(int u = unio[i];u>0;u--){printf("%d",write[i][u]);if(u%10==1 && u != unio[i]) printf("\n");else printf(" ");}}return 0;} 

注:如果有更好的解法,真心希望您能够评论留言贴上您的代码呢~互相帮助互相鼓励才能成长鸭~~

转载于:https://www.cnblogs.com/winniy/p/10597675.html

『ACM C++』 PTA 天梯赛练习集L1 | 048-49相关推荐

  1. 『ACM C++』 PTA 天梯赛练习集L1 | 016-017

    今天开了两个大会,时间都给占掉了,就刷了两道题~ 明天加油!!! ------------------------------------------------L1-016------------- ...

  2. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案

    [CCCC]PAT : 团体程序设计天梯赛-练习集 L1 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 标号 标题 分数 通过数 提交数 通过率 L1-001 Hello World 5 46779 1 ...

  3. 团体程序设计天梯赛 -- 练习集 (L1合集)

    文章目录 L1-001 Hello World (5 分) L1-002 打印沙漏 (20 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5 分) L1-005 考试座位 ...

  4. PAT : 团体程序设计天梯赛-练习集L1 个人题解

    另把天梯赛所有题解内容全部打包成了一个文档,可以自行下载:https://download.csdn.net/download/daixinliangwyx/11170075 L1-001 Hello ...

  5. c语言pta判断字符或数字的昵称,c/c++开发分享『ACM C++』PTA浙大 | 基础题 – 打印沙漏...

    < 一首好曲推荐:同时我也设置成了我的博客背景音乐 <开启新征程> &mdas 收藏链接: ----------------题目-------------------- 本题 ...

  6. PTA天梯赛-练习集 L1-009 N个数求和

    模拟通分 #include <bits/stdc++.h> using namespace std; #define d(x) cout << (x) << end ...

  7. 团体程序设计天梯赛-练习集 L1

    目录 L1-001 Hello World L1-002 打印沙漏 L1-003 个位数统计 L1-004 计算摄氏温度 L1-005 考试座位号 L1-006 连续因子[枚举] L1-007 念数字 ...

  8. 团体程序设计天梯赛-练习集 L1合集

    来自<https://www.patest.cn/contests/gplt> L1-001. Hello World 这道超级简单的题目没有任何输入. 你只需要在一行中输出著名短句&qu ...

  9. 团体程序设计天梯赛-练习集 L1阶段 全部题解

    L1-001. Hello World 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 这道超级简单的题目没有任何输入. 你只需要在一行中输 ...

最新文章

  1. dtoj#4178. 配对(pair)
  2. 【Linux】一步一步学Linux——dpkg-query命令(271)
  3. 老华为可以升级鸿蒙,真良心!五年前老机型都能升级华为鸿蒙
  4. 养成一个习惯有多难?不如先从一个小目标开始
  5. 我决定不能贱卖自己(2010年11月13日志)
  6. ES6新特性_ES6_Symbol的介绍与创建---JavaScript_ECMAScript_ES6-ES11新特性工作笔记015
  7. hdu 6203 ping ping ping(贪心+树状数组+dfs序)
  8. 新老更替选本难 最新CPU显卡参数解析
  9. python 网页上显示数据_Python实战【第二节】在网页上显示信息
  10. 用c语言判断一个数是否是素数(质数)
  11. PHPStorm运行PHP代码(新手教程),PHP新手入门教程
  12. 国内外PaaS案例解析、赛道、趋势
  13. 微信直播聊天室架构演进
  14. 【Sensors】原始GNSS测量(6)
  15. Java写的第一个小游戏
  16. 1、登录——邮件发送激活链接
  17. 全球与中国云监控软件市场深度研究分析报告(2021)
  18. 【云原生学习3】Pod及K8S
  19. 数据结构——图书管理系统
  20. 【数据架构】SOGAF 通用实体框架 (CoE)

热门文章

  1. java中gettext方法_深入理解Java中方法的参数传递机制
  2. android开发图片格式,Android程序开发如何处理图像格式类及图像转换
  3. Linux如何创建一个内核模块,创建你自己的内核模块
  4. mongodb 分组聚合_MongoDB干货总结
  5. Java求出1000内的完数
  6. 集成学习(一)——随机森林以及GBDT
  7. numpy与pandas各种功能及其对比(超全)
  8. 学了一年matlab,我到现在还不会读论文~
  9. 计算机考研单科成绩要求,考研单科分数是多少
  10. 如何高效使用和管理Bitmap--图片缓存管理模块的设计与实现