今日刷题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:

  1.  
  2. - - - -

输出样例1:

  1.  

输入样例2:

  1.  
  2. -
  3.  
  4. -

输出样例2:

  1. Error: !=

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

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

  1. #include<stdio.h>
  2.  
  3. int Ra,Ca,Rb,Cb,sum;
  4. int A[][];
  5. int B[][];
  6. int main()
  7. {
  8. scanf("%d %d",&Ra,&Ca);
  9. for(int i = ;i<=Ra;i++)
  10. for(int u = ;u<=Ca;u++)
  11. scanf("%d",&A[i][u]);
  12.  
  13. scanf("%d %d",&Rb,&Cb);
  14. for(int i = ;i<=Rb;i++)
  15. for(int u =;u<=Cb;u++)
  16. scanf("%d",&B[i][u]);
  17.  
  18. if(Ca!=Rb) printf("Error: %d != %d\n",Ca,Rb);
  19. else
  20. {
  21. printf("%d %d\n",Ra,Cb);
  22. for(int i = ;i<=Ra;i++)
  23. {
  24. for(int j = ;j<=Cb;j++)
  25. {
  26. sum = ;
  27. for(int u = ;u<=Rb;u++) sum+= A[i][u]*B[u][j];
  28. printf("%d",sum);
  29. if(j!=Cb) printf(" ");
  30. }
  31. printf("\n");
  32. }
  33. }
  34. return ;
  35. }

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

输入样例:

输出样例:

  1. #
  2.  
  3. #
  4.  
  5. #

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

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

  1. #include<stdio.h>
  2.  
  3. int times,total,count = ,Temp = ;
  4. int uni[];
  5. int unio[];
  6. int write[][];
  7. int main()
  8. {
  9. scanf("%d",&times);
  10. for(int i = ;i<times;i++)
  11. {
  12. scanf("%d",&uni[i]);
  13. uni[i]*=;
  14. unio[i] = uni[i];
  15. total+=uni[i];
  16. }
  17. while()
  18. {
  19. for(int i = ;i<times;i++)
  20. {
  21. if(uni[i] == ) continue;
  22. // printf("%d--------%d\n",write[i][uni[i] + 1],count);
  23. if(write[i][uni[i] + ] == (count - ) && write[i][uni[i]+] != )
  24. {
  25. count++;
  26. continue;
  27. }
  28. write[i][uni[i]] = count;
  29. count++;
  30. uni[i]--;
  31. }
  32. int ans = ;
  33. for(int i = ;i<times;i++) if(uni[i] != ) ans = ;
  34. if(ans == ) break;
  35. }
  36. for(int i = ;i<times;i++)
  37. {
  38. printf("#%d\n",i+);
  39. for(int u = unio[i];u>;u--)
  40. {
  41. printf("%d",write[i][u]);
  42. if(u%== && u != unio[i]) printf("\n");
  43. else printf(" ");
  44. }
  45. }
  46. return ;
  47. }

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

『ACM C++』 PTA 天梯赛练习集L1 | 048-49的更多相关文章

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

    应师兄要求,在打三月底天梯赛之前要把PTA上面的练习集刷完,所以后面的时间就献给PTA啦~ 后面每天刷的题都会把答案代码贡献出来,如果有好的思路想法也会分享一下~ 欢迎大佬提供更好的高效率算法鸭~ - ...

  2. 『ACM C++』 PTA 天梯赛练习集L1 | 052-053

    今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...

  3. 『ACM C++』 PTA 天梯赛练习集L1 | 040-41

    近期安排 校赛3.23天梯赛3.30华工校赛 4.21省赛 5.12 ------------------------------------------------L1-040----------- ...

  4. 『ACM C++』 PTA 天梯赛练习集L1 | 021-024

    忙疯警告,这两天可能进度很慢,下午打了一下午训练赛,训练赛的题我就不拿过来的,pta就做了一点点,明天又是满课的一天,所以进度很慢啦~ -------------------------------- ...

  5. 『ACM C++』 PTA 天梯赛练习集L1 | 007-011

    真的是忙头晕了,学业.ACM打题.班级活动.自学新东西,哇这充实的大学~ ------------------------------------------------L1-007--------- ...

  6. 『ACM C++』 PTA 天梯赛练习集L1 | 044-45

    记录今日刷题 ------------------------------------------------L1-044--------------------------------------- ...

  7. 『ACM C++』 PTA 天梯赛练习集L1 | 042-43

    记录刷题情况 ------------------------------------------------L1-042--------------------------------------- ...

  8. 『ACM C++』 PTA 天梯赛练习集L1 | 036-037

    这几天比较忙,所以随便做做水题了,得赶紧把英剧搞完啊啊啊啊啊啊 ------------------------------------------------L1-036-------------- ...

  9. 『ACM C++』 PTA 天梯赛练习集L1 | 029-033

    哈哈,今天开始我也是学车人了~ 开始一千多道疯狂刷题~ ------------------------------------------------L1-029------------------ ...

随机推荐

  1. HTML 简单日历制作方法

    新手一枚,不会写什么高大上的博文,一些平时做的小练习,献丑 <!doctype html> <html> <head> <meta charset=" ...

  2. canvas合成图片 圣诞节新技能戴帽

    <!doctype html><html><head><meta charset="utf-8"><title>Html ...

  3. 001服务注册与发现Eureka

    1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka Server依赖和Spring Cloud依赖管理 <dependencies> <!--添加Eurek ...

  4. 动画演示10个有趣但毫无用处的Linux命令

    Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了.在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话.你 ...

  5. TE7下的创建组件AxHost失败

    问题比较诡异.时好时坏的.网上的办法试过了,没用. 最后的解决办法是,把项目属性切换到Any CPU,然后勾选 32位优先,切换到界面设计状态,拖放控件,OK:运行,会出现红色提示:再次切换到项目属性 ...

  6. C语言string.h中常用字符函数介绍

    原文:http://www.cnblogs.com/xuwenmin888/archive/2013/05/03/3057883.html strcpy 函数名: strcpy 功 能: 拷贝一个字符 ...

  7. 数组sort()方法排序

    sort()方法排序 var arr = ["G","A","C","B","I","H& ...

  8. flask框架下的jinja2模板引擎(1)(模板渲染)

    #转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...

  9. Qt 资料大全

    https://blog.csdn.net/liang19890820/article/details/51752029 简述 发福利了.发福利了.发福利了,重要的事情说三遍... 为了方便更多Qte ...

  10. Http重要知识点